Optimizations for AudioRenderQuantum when all channels are equal

AudioRenderQuantum has a method modify_channels that modifies each channel in the buffer with the same function.
This allows for an optimization when all channels in the buffer are identical. In this case, the map function only needs to be applied once.
This is a useful optimization because buffers with equals channels occur very often inside the audio graph.
E.g. OscillatorNode -> GainNode -> DestinationNode. The GainNode will typically already upmix the oscillator output to two channels. The gain will then be applied twice but this is what we can optimize out.
The same optimization could theoretically apply for AudioBuffer (e.g. the resample method) but it practise the buffer will never contain channels that are the same Arc. There is no user space function that could get to that situation.

Some initial work at https://github.com/orottier/web-audio-api-rs/commit/92ba3f03d741a95ce2013929c8d3f7548cda1fbc - showing it might not always be worthwhile

Yup, maybe a bit convoluted if the improvement is small.
One thing I've though about in the same vein, would be to bypass processing when input is silent. I don't think it would work for all nodes, but for many of them it could be quite a simple improvement. I wanted to start a proof of concept on the GainNode but failed to reproduce your flamegraph results in #129 (I think we should see the 7% falling down here). The graph I obtain is very different both in terms of results and layout when I run only the granular bench. Could you share your code and the command you used, so that we are on the same page here?

Yup, maybe a bit convoluted if the improvement is small.

We should rewrite the biquad, iir, stream_destination and many other nodes to use this optimization and see if they benefit from it. My theory is that applying gain is so efficient (32 SIMD instruction on already cached data), that we're only seeing noise right now.

bypass processing when input is silent.

Dealing with silent input would be exiting, definitely. The spec has a whole section on it that we ignore currently!
https://www.w3.org/TR/webaudio/#AudioNode-actively-processing

share your code and the command

I used https://github.com/flamegraph-rs/flamegraph on a cpu-optimized (dedicated) 2 CPU droplet on Digital Ocean
Change cargo.toml
[profile.release]
debug = true

Then run
cargo flamegraph --example some_example
The code I used was the minimal runnable version of the "Granular synthesis" example. I don't have the code anymore, maybe we can start a branch and check our numbers and graphs again?

Dealing with silent input would be exiting, definitely. The spec has a whole section on it that we ignore currently!
https://www.w3.org/TR/webaudio/#AudioNode-actively-processing
I created https://github.com/orottier/web-audio-api-rs/issues/147 for this now.

Nice, didn't see that one before
Thanks for the infos for the flamegraph, didn't change the cargo.toml no my side, maybe that's the reason the output is that different, will have another shot

maybe we can start a branch and check our numbers and graphs again?

Yup let's do that!

Maybe an idea that worth digging: number_of_channels() could somehow return 1 when all channels are equal. This would just allow to "trick" all the nodes without much (maybe even any?) changes in their current implementation and/or relying on the use of a specific method:
1 - Oscillator outputs 1 channels
2 - Graph upmix to 2 channels but channels are equal ((i.e. just cheap clone())
3 - Gain input.number_of_channels() just pretends it is only 1 channel so the processing only occurs on 1 channel and thus outputs 1 channel
4 - Graph upmix to 2 channels but channels are equal ((i.e. just cheap clone())
5 - BiquadFilter (or other node which may not use modify_channels) input.number_of_channels() pretends it is only 1 channel so the processing only occurs on 1 channel and it outputs 1 channel
6 - etc.
Even when adding inputs, if the 2 added RenderQuantum only contain clones of the first channel, we know that the result can continue pretending it is 1 channel
Not sure I'm really clear but let me know what you think

Hey, the idea is nice, but it will break the channel-splitter and merger. And I'm not sure if I like the magic around it. What if a AudioWorkletNode specifies an input channel count of 2, but using this trick, we would only serve 1. It might break.
I'll let the idea simmer for a bit, we might be able to work something out.
The alternative still being exposing that atrribute are_channels_equal and let gainNode, biquadNode and co just optimize for themselves

but it will break the channel-splitter and merger.

Yup didn't think about these 2 ones, I guess the magic trick could create other weird edge-case.
Actually thinking a bit more about it since yesterday, I'm also convinced the magic solution is "too magic" and therefore not good. I would also go for exposing are_channels_equal and let the node do their own job with that when possible.
Also, I think we could improve the AudioRenderQuantum::add method so that we can get, when possible according to channel_config, something like:
assert!(a.are_channels_equal())
assert!(b.are_channels_equal())
a.add(b);
assert!(a.are_channels_equal())

This way we could propagate the information down the graph

For the record, I just made a rapid test there: https://github.com/b-ma/web-audio-api-rs/tree/feature/equal-channels (also implementing #195). I just modified the GainNode and BiquadFilter which were the most straightforward and simple to track which our current bench but... unfortunately no visible change neither...


add more channels

all of these channels are still alive

zlive is updated a couple of hours after production, maybe add support for channels + production?

Are these uhh... plausibly public? I don't recall how they were found.
I guess it's not unreasonable to brute force their existence but it's still a little bit sketchy.


feat: surface a more refined set of filter options for alerts

Description

Rarity: "Unique" or "Limited Edition"
Medium Type: Surface the same sorted list we use on /collect
Ways to Buy: Exclude "Contact Gallery"

PR Checklist

[ ] I have tested my changes on iOS and Android.
[ ] I hid my changes behind a feature flag, or they don't need one.
[ ] I have included screenshots or videos, or I have not changed the UI.
[ ] I have added tests, or my changes don't require any.
[ ] I added an app state migration, or my changes do not require one.
[ ] I have documented any follow-up work that this PR will require, or it does not require any.
[ ] I have added a changelog entry below, or my changes do not require one.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

feat: surface a more refined set of filter options for alerts - devon

iOS user-facing changes

Android user-facing changes

Dev changes

Need help with something? Have a look at our docs, or get in touch with us.

This PR contains the following changes:

Cross-platform user-facing changes (feat: surface a more refined set of filter options for alerts - devon)

  Generated by :no_entry_sign: dangerJS against 0b7a555d6dd64cf9b0d692937f35a9cda556ac49

🚀


⚠ Bofrost.lu has degraded performance

In f9b26e3, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2878 ms

Resolved: Bofrost.lu performance has improved in 9eaaf34 after 6 minutes.


Upgrade to Kotlin DSL 1.0

CI build: https://builds.gradle.org/viewQueued.html?itemId=17273587

CI build: https://builds.gradle.org/viewQueued.html?itemId=17275797


Problems in PNN

Paper said :

The first hidden layer is fully connected with the product layer. The inputs to it consist of linear
signals lz and quadratic signals lp. With respect to lz and lp inputs, separately, the formulation of l1 is: l1 = relu(lz + lp + b1),

But in your code, the linear signals and quadratic signals are concated :
embed_x = self.embedding(x)
cross_term = self.pn(embed_x)
x = torch.cat([embed_x.view(-1, self.embed_output_dim), cross_term], dim=1)
x = self.mlp(x)
return torch.sigmoid(x.squeeze(1))

I guess that you had confused  the output layers of PNN and DCN. @rixwew

Thank you for your comment! I'll check it.

Thank you for your comment! I'll check it.

: )  and I created a pull request

I merged your pr #7
Thank you:)


Pagination problem when listing directories (1000 file limit)

I am prototyping an s3-compatible storage service called open storage network.
I have encountered a problem with how s3fs is listing directories which appears to be related to pagination. Basically, s3fs thinks there are only 1000 objects in the directory and refuses to even try to read objects that don't show up in this initial list.
import boto3
import s3fs
assert s3fs.__version__ == '0.4.0'

# read-only credentials to bucket, okay to share publicly
access_key = "EL456I5ZRYB44RB6J7Q4"
secret_key = "QydNAjMWBTOLRjHiA36uMvhBvI4WeTxWYNJ5oaiP"
endpoint_url = "https://ncsa.osn.xsede.org"

# create boto client
s3 = boto3.client('s3',
                  aws_access_key_id=access_key,
                  aws_secret_access_key=secret_key,
                  endpoint_url=endpoint_url)
# verify credentials
assert s3.list_buckets()['Buckets'][0]['Name'] == 'Pangeo'

# list the bucket using recommend boto pagination technique
# https://boto3.amazonaws.com/v1/documentation/api/latest/guide/paginators.html#filtering-results
paginator = s3.get_paginator('list_objects')
operation_parameters = {'Bucket': 'Pangeo',
                        'Prefix': 'cm26_control_temp.zarray'}
page_iterator = paginator.paginate(**operation_parameters)
# the directory should have 2402 objects in it
for page in page_iterator:
    print(len(page['Contents']))
# > 1000
# > 1000
# > 402
# Correctly finds all 2402 objects

print(page['Contents'][-1]['Key'])
# > 'cm26_control_temp.zarray/<IP_ADDRESS>'

# now try with s3fs
fs = s3fs.S3FileSystem(key=access_key, secret=secret_key,
                       client_kwargs={'endpoint_url': endpoint_url})

listing = fs.listdir('Pangeo/cm26_control_temp.zarray')
print(len(listing))
# > 1000

# try to read a file that did not make it into the list
with fs.open('Pangeo/cm26_control_temp.zarray/<IP_ADDRESS>') as f:
    pass
# > FileNotFoundError: Pangeo/cm26_control_temp.zarray/<IP_ADDRESS>

This feels very much like a bug in s3fs. (A somewhat similar issue was noted in https://github.com/dask/s3fs/issues/253#issuecomment-557516952, including the 1000 file limit.) In fact, I would identify two distinct bugs:

The directly listing is wrong
s3fs is incorrectly raising a FileNotFoundError when I try to open an existing object (likely related to caching)

For the first issue, one possible hint could be that the aws cli also makes the same mistake:
aws s3 --profile osn-rw ls --recursive s3://Pangeo/cm26_control_temp.zarray/ | wc -l
# > 1000

So perhaps there is something in the metadata of the OSN service that is tricking the paginators in some circumstances.
This issue is rather important to Pangeo, as we are keen to get some accurate benchmarks on this new storage service. Help would be sincerely appreciated.

Ok, so I think it's a problem with the API service in OSN. Compare regular s3:
import boto3
from botocore import UNSIGNED
from botocore.client import Config

s3pub = boto3.client('s3', config=Config(signature_version=UNSIGNED))
resp = s3pub.list_objects_v2(Bucket='mur-sst', Prefix='zarr/analysed_sst')
print(list(resp.keys()))

gives
['ResponseMetadata',
 'IsTruncated',
 'Contents',
 'Name',
 'Prefix',
 'MaxKeys',
 'EncodingType',
 'KeyCount',
 'NextContinuationToken']

Now for OSN:
access_key = "EL456I5ZRYB44RB6J7Q4"
secret_key = "QydNAjMWBTOLRjHiA36uMvhBvI4WeTxWYNJ5oaiP"
endpoint_url = "https://ncsa.osn.xsede.org"
s3 = boto3.client('s3',
                  aws_access_key_id=access_key,
                  aws_secret_access_key=secret_key,
                  endpoint_url=endpoint_url)
resp = s3.list_objects_v2(Bucket='Pangeo', Prefix='cm26_control_temp.zarray',
                          ContinuationToken='string')
print(list(resp.keys()))

gives
['ResponseMetadata',
 'IsTruncated',
 'Contents',
 'Name',
 'Prefix',
 'MaxKeys',
 'EncodingType']

OSN does not return  KeyCount and NextContinuationToken. In particular, the absence of NextContinuationToken makes it impossible to paginate the results.

Hmm that seems a shame that OSN doesn't return those keys, they will certainly be needed for pagination. Is this an issue you can raise with them?

@rabernat This issue got brought to my attention today (I'm one of the folks working on OSN).  Ceph is being used as the backing store for the project and this seems to be an outstanding issue with the Rados Gateway implementation.  I'm still looking to see if there are updates newer than 11 months ago, but the most recent information I've found so far is here

Thanks @jdmaloney for your reply! While perhaps we could manage to work around this in s3fs (say, by creating an option to use list_objects rather than list_objects_v2), my strong preference would be for an upstream fix in ceph. But the timeline you referenced above is not encouraging. 😬
There is, however, a separate issue that I raised above that has nothing to do with OSN:

s3fs is incorrectly raising a FileNotFoundError when I try to open an existing object (likely related to caching)

Since we are using consolidated metadata for the zarr store, a directory listing should never be necessary. All the keys we need are known a-priori from the metadata. @martindurant -- is there a way to bypass the automatic listing / caching that s3fs is performing? The objects are there: s3fs just needs to let me read them, rather than believing its (incorrect) cache of the directory listing.

I thought that was indeed the model - if the file is not already in the cache, a HEAD request is made. That might only be on master. Should be compared with what happens in gcsfs too.

Works:
# download file with boto client
s3.download_file('Pangeo', 'cm26_control_temp.zarray/<IP_ADDRESS>', '/dev/null')

fails:
# download file with s3fs
fs.download('Pangeo/cm26_control_temp.zarray/<IP_ADDRESS>', '/dev/null')
# > FileNotFoundError: Pangeo/cm26_control_temp.zarray/<IP_ADDRESS>

s3fs version is '0.4.0'.

I too face the same problem as my directories have more than 3000 files, is there any work around?

@smishra , are you using s3fs latest version or master? Perhaps we need a release.

I installed it yesterday (pip install s3fs) on my CentOS image. The version it shows: 0.4.2.

Would you be willing to try with master?

Let me try. Thanks

I tried again after recreating my environment with 0.4.2 version and it seems to work in python REPL. I will integrate in my PySpark and see if it works.

Ceph merged a ListObjecstV2 support over a year ago in this PR. The Ceph tracker issue linked above was worked around by the reporter by using ListObjects, once they noticed they had made a mistake -
Then tried to use the listobjects() function but I've made a mistake that I've used the Marker instead of the given NextMarker
If for whatever reason the Ceph cluster cannot be upgraded to a release that supports ListObjectsV2, then using ListObjects would be the workaround. If there are problems with ListObjects, then a Ceph tracker issue should be filed.

@mmgaggle Sorry we didn't update this thread, the cluster was updated back in February and we confirmed with @rabernat that everything worked and was resolved.  The cluster was one dot release behind where that patch got merged in, just our luck :)

No worries, I had some colleagues bump into this same issue and there was confusion about what was the right thing to do. My comment was just as much about making sure other folks who stumble across this know what their options are. Glad to hear the cluster you were talking to got updated, and that you're in the clear! :)


Maintenance status?

My team is evaluating using this library, and we notice that there haven't been updates in about a year, while there are waiting PRs and issues with newer versions of React Native (like this example). We'd be happy to work on contributing, but if pull requests aren't currently being addressed that would not be possible.
What is this project's maintenance status? Are you looking for maintainers? Is it best to fork?
Tagging @caiosba as you have the most recent commits, and @Gustash as you're mentioned as a maintainer.
Thanks for your time.

Yes, I haven't been able to review the PRs for a long time. Would be great if someone is interested in maintaining it. We should probably fork since it's under an organization account that is not supporting the project anymore.

Hi @lindboe, did you manage to successfully include this library in your project? I'm currently looking for a solution since share extension / share intent is big part of my side project. Please let me know if this or maybe other library can be used for both Android and iOS since I didn't have much luck finding good solution. Thanks!

@caiosba @lindboe guys did anyone forked this project to replace this one? I'd like to contribute

Hi, yes, @caiosba we'd like to help with maintenance. We specifically want to use this library for Expensify, so it would be good to get a maintainer from Infinite Red like myself for the project, but also someone from the Expensify team (I can get a name soon). Does that work for you @caiosba?

@lindboe yes that would be great! maybe we can even discuss it? I would like to see how I can help with limited availability too and hand off this project

@caiosba Sure thing! What kind of discussion are you thinking of? Here is good, or if it's to chat more frequently, we have the Infinite Red community Slack, or we're happy to set up a Zoom call. @jamonholmgren (Infinite Red's CTO) would be good to involve as well.

Yeah we can keep talking here. I'm thinking that we could fork/move this project to another organization (maybe its own?) and have other people as maintainers to the project. We can start by just adding a couple of new maintainers, and also for the NPM package. Happy to jump sometime on a quick Zoom call for introductions and to get things on faster if needed.

Just my 2 cents ... if Expensify will be funding the majority of ongoing development going forward, I'd probably recommend that we move it to their Github org. It tends to accomplish two things -- make it feel worthwhile for them to invest in it, and also give them a sense of ownership that helps for long-term sustainability. (I get there are other factors involved though!)

Hi @caiosba, following up. Expensify would like to bring this project into their organization. @andrewgable from Expensify would be the maintainer to add from their side, and I can be a maintainer for the Infinite Red side to fix some of the issues we ran into. Does that work for you?

That sounds reasonable to me, but I'll leave it up to @andrewgable to confirm. (I think it would be a good idea to add a comment in the README to ensure that isn't removed.)

Yes, totally fine to keep the original maintainers and sponsors included 👍

Totally reasonable, and thank you @caiosba and Meedan for your hard work on this library over the years!

Where can I follow the progress of forked repo? I would love to use it.

We should be able to transfer the repo to Expensify instead of forking it. That would make for the smooth transition, GitHub would transfer over everything relevant and redirect people.

This a great idea, newer versions of React Native and Expo support would be amazing.

Awesome stuff
Hopefully this collab will also move the #3 feature request on Expo forward :)
https://expo.canny.io/feature-requests/p/share-extension-ios-share-intent-android

@caiosba is there anything else you need in order to proceed?

@AndrewGable How would you like to handle the transfer steps? I believe, from reading the transfer docs, the repo owner needs to be the one to do the transfer, and that person also needs to be able to create repositories on the target organization. So the two possibilities are:

Give @caiosba access to create repos on the Expensify org
@caiosba would transfer ownership to @AndrewGable's personal account, and then Andrew would transfer ownership to the Expensify org from there

@caiosba - I think it would be easiest to transfer to my personal repo, I will make sure it moves over to Expensify Org. Also my NPM user name is the same (AndrewGable), or if you can transfer it to the Expensify Org on NPM I have access there too.

I had to transfer the repository first to my personal account, but it's now being transferred to @AndrewGable.

FYI - Repo has been transferred to Expensify Org.

Happy to see that this project will live on. I'm open to contributing as well, watching for contribution guidelines.

Happy to contribute as well.

Hi everyone! Any news about future releases or PRs merges? I think there's some important PRs like #260 that would be great to be accepted.

@caiosba Would you be able to review some of the PRs sitting out there?

Haven't seen any changes in a long time is this project still alive?
Why is it so hard for a shareTo on an app in 2023... 😭

Hey folks, sorry for the delay, we've been in the middle of planning out this project further.
We've got a plan for the updates we're going to make to specifically support Expensify here: #294.
As I say on the linked issue, if you have concerns that we don't plan to address, and you'd like to submit a PR yourself, please discuss with us on #294, and we'll make a plan together.

Closing this issue out as we have more specific tickets to work on now, and we can follow up on any handoff needed for managing releases on https://github.com/Expensify/react-native-share-menu/issues/289.

Is this still the case?  Appears to have very little movement recently
Also just noticed this https://github.com/Expensify/react-native-share-menu/issues/293#issuecomment-2240379959 which makes me believe it is no longer being maintained.


Generator does not honor the "pattern" from a property

Describe the bug
Generator does not honor the "pattern" from a property, and hence does not produce a RegularExpression attribute on a parameter/request property.
Given this yaml:

The following is generated:
    [Required]
    [MinLength(2)]
    [MaxLength(2)]
    public string Alpha2Code { get; set; }

However, this should be generated:
    [Required]
    [MinLength(2)]
    [MaxLength(2)]
    [RegularExpression("^[A-Z]$")]
    public string Alpha2Code { get; set; }

I am working on this!


chore: add backend healthz endpoint to check if db connexion is ok

@iNeoO ok pour toi je peux merger ?

:tada: This PR is included in version 1.10.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Cancel/OK swap on HTML5 platform, small fixes.

In this PR:

Two small fixes to address DisplayServer init, and javascript_main.cpp compilation and syncing with 3.2 (see #40432).
Implement Cancel/OK UI button swap for HTML5 platform when Windows is detected. Fixes #30653 .

You can test it by checking the result of DisplayServer.get_cancel_ok_swap() (given there is no rendering yet).
For testing, you can override the platform value in firefox via about:config by setting a new property general.platform.override with the desired string value.
For a 3.2 version (where you can see the actual swap happening, and for easy cherry-pick) see this branch

Thanks!

Cherry-picked for 3.2.3.


[DM-35482] Add support for generating the HiPS list

The HiPS list accumulates the properties files for all of the HiPS
data sets for a given deployment of the Rubin Science Platform,
with the addition of the URL (which varies by environment and thus
cannot be encoded in the properties file of the individual HiPS
data set).  Serve that list by getting the individual properties
files of each data set, assembling, and then caching the list.
Including this in datalinker may look like an odd choice, since it's
unrelated to the DataLink standard.  But, viewed more broadly, the
function of datalinker is to provide registries, catalogs, and
redirects to other services in the deployment, and HiPS is another
example of that type of service.  The HiPS data sets themselves will
be served directly from GCS in the future, and GCS won't be able to
serve the dynamic HiPS list directly, so we need some small web
application to do so.  Including this in datalinker seems better
than writing a separate application solely for that purpose.

When this is ready for review (I see it's still a draft), could you attach a sample of the HiPS list file output to the PR?  Thanks!

My recollection from previous discussion was that it was okay to expose the HiPS list without requiring authentication, so I have done that and you can see a preview of the output at https://data-int.lsst.cloud/api/hips/list.

Adding @gpdf to the review list to check that the output is as expected, and Christine as the code reviewer.

A Firefly test would be great but I don't think it's a blocker for merging this. If it uncovers problems, we can always fix it later. But if you feel like testing that today and have the free time I wouldn't say no!


Knockout metadata

Q
A

Bug fix?
no

New feature?
no

New sample?
yes

Related issues?
no

What's in this Pull Request?
Sample Web Part illustrating

Reading taxonomy term stores' hierarchy from SharePoint
Loading JavaScript Object Model scripts
creating Knockout components

Hi @AJIXuMuK, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;

thx Alex, we'll have a look on this during upcoming week. Great to get the taxonomy access demonstrated in the samples as well.

Hello Vesa,
Could you please include company logo on 'December 2016 - Release' page?
logl

thx Alex, image and link to the company page added. Due legal reasons, we need to have explicit permission to do this, but will do this in the future months as well, if you or someone from your company does contributions.

thanks, Vesa, I appreciate your help!


Crash: Dozen of crashes inside RCNFetch.m line 221 __81-[RCNConfigFetch refreshInstanceIDTokenAndFetchCheckInInfoWithCompletionHandler:]

Describe your environment

Xcode version: 11.2.1
Firebase SDK version and Firebase Component:

 - FirebaseRemoteConfig (4.4.3):
    - FirebaseABTesting (~> 3.1)
    - FirebaseAnalyticsInterop (~> 1.4)
    - FirebaseCore (~> 6.2)
    - FirebaseInstanceID (~> 4.2)
    - GoogleUtilities/Environment (~> 6.2)
    - "GoogleUtilities/NSData+zlib (~> 6.2)"
    - Protobuf (>= 3.9.2, ~> 3.9)

Describe the problem
We are receiving dozen of crashes after updating Pods ->

Steps to reproduce:

What happened?
Crashes occur randomly and we are not able to reproduce it in debug.

Around 4% of users have this crash.
Relevant Code:

Crashed: com.apple.main-thread
0  **                       0x104fd81f4 __81-[RCNConfigFetch refreshInstanceIDTokenAndFetchCheckInInfoWithCompletionHandler:]_block_invoke_2 + 221 (RCNFetch.m:221)
1  libdispatch.dylib              0x18ae8a610 _dispatch_call_block_and_release + 24
2  libdispatch.dylib              0x18ae8b184 _dispatch_client_callout + 16
3  libdispatch.dylib              0x18ae3d190 _dispatch_main_queue_callback_4CF$VARIANT$mp + 1044
4  CoreFoundation                 0x18b13c5e4 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 12
5  CoreFoundation                 0x18b1375d8 __CFRunLoopRun + 2004
6  CoreFoundation                 0x18b136adc CFRunLoopRunSpecific + 464
7  GraphicsServices               0x1950bc328 GSEventRunModal + 104
8  UIKitCore                      0x18f231ae0 UIApplicationMain + 1936
9  ***                     0x104845308 main + 22 (**.swift:22)
10 libdyld.dylib                  0x18afc0360 start + 4

Hi @dimaosa, looks like it's related to this one. Could you try to update your SDK to the latest version and see if you'll still encounter the issue?

Hi @rizafran , I will try update to latest SDK and check if we would encounter this issue again, thanks

I am still facing this issues. I am on version 4.4.7. Tried updating pods a dozen times.
testflight_feedback (6).zip

@Nac11 are you able to reproduce the crash consistently?

@Nac11 are you able to reproduce the crash consistently?

@morganchen12  Yes. This crash occurs when  both of these things happen together:

Opening the app from universal links or push notifications (basically deeplinking).
The minimum refresh interval the Remote config has expired.

I have noticed that during these deeplink scenarios, the fetchAndActivate method of my code is called twice in quick succession. (which is a bug in my app and I have resolved it.)
But regardless, my concern is that Remote config could give me an error in such cases if something is wrong and not crash.
I am able to reproduce this crash consistently. Will be happy to share you more logs if that is helpful.

Can you share the app that's crashing (or a separate sample app that also crashes)? The stack trace you posted is slightly different from the original issue, so having a repro to figure out the root cause of the crash would be very helpful.


[PE-D][Tester C] groups list UI not updating after delete group

From the photo below you can see that Alice and Bay does not have any groups. This is because I executed the command deletegroup g/test. However, the Groups UI Plane on the right still indicates Alice and Bay are in the test group.

Labels: severity.High type.FunctionalityBug
original: Jonaspng/ped#8

Addressed by PR #195


Issue #6: Added shields to the README file.

I added shields and contributors to the read me file.
Signed-off-by: Julian Chen<EMAIL_ADDRESS>

Hi @joewxboy, it seems like this repository does not have a license. When I try to add a license shield to the README file, the icon would say "license not specified".

Thanks, @julianchen215 good catch.  Could you please add the standard Apache 2.0 license file?  We shouldn't have had any commits to the repo without the license.  oops
It should be acceptable to copy over the LICENSE file from one of the other repos like service-minecraft.  Add that to this PR so the shield will work immediately.

I added LICENSE and a shield for the license.


Keep local-only DataSets such as CSVLocalDataSet

Description
In the latest develop branch, local-only DataSets such as CSVLocalDataSet were removed.
Although the generalized DataSets in kedro.extras.datasets such as CSVDataSet support local use, I'd like to request to keep the local-only DataSets to allow avoiding to use fsspec package.
Context
Some users do not want to or cannot use fsspec package due to potential bugs, performance, or security issues.
Possible Implementation
Keep local-only DataSets.

@Minyus Thank you for the request! Are you currently facing any issues with fsspec? If so, we would like to know the details so we might be able to help you with it.

I'm echoing @921kiyo in that I'd also be interested in knowing what deficiencies fsspec has for you. I'm also tagging in @martindurant who's the main maintainer over at fsspec who may also be interested. If there are any issues, a potential avenue is to report them on the fsspec repo and get them resolved there, and we'd benefit downstream.
One of the reasons we liked fsspec was that it reduced both the maintenance burden of datasets because there were fewer of them and it was easier to contribute one dataset and benefit more people than having to submit more than one for different cloud systems. Bringing back local-specific versions of all or most datasets would negate the first benefit somewhat and so I think it's a big decision to make.

I can understand any project now wanting to take on extra dependencies. However, fsspec is lighter than most, since it has no (required) dependencies of its own. For local files, most methods simply pipe through to os-module methods, so really what you get is the convenience of having the same API as the other storage backends.
(by the way, dask depends on fsspec, and pandas is considering it, if that can increase confidence)

I haven't faced any issues due to fsspec yet.
(I reported a design issue of the new pandas datasets https://github.com/quantumblacklabs/kedro/issues/342 , but not related to fsspec)
I like the idea of using fsspec for Kedro's datasets too.
Now that I understand how fsspec treats local files, I'd like to migrate to the new datasets.
Thank you.

I'll go ahead and close this issue, after Martin's clarification of how fsspec handles local paths. Thank you all. :)


fix karmada logo on dark theme

Why is this needed:

/assign

@Arhell The issue seems to be duplicated. Please refer to #76

@Arhell The issue seems to be duplicated. Please refer to #76

no

@rgrupesh where is the RP, #76 is the issue without assignment.

Sorry, ignore my comments. I think this is a PR. :(


fix edge case with lightgbm 2.2.1 where trees may exist but have no nodes causing error in TreeExplainer

In some edge cases, eg where a regressor is trained on constant labels, lightgbm can produce empty trees which fails with TreeExplainer, giving the error:

  return ufunc.reduce(obj, axis, dtype, out, **passkwargs)

E       ValueError: zero-size array to reduction operation maximum which has no identity
with stack trace:
....\shap\explainers\tree.py:96: in init
self.model = TreeEnsemble(model, self.data, self.data_missing)
....\shap\explainers\tree.py:614: in init
max_nodes = np.max([len(t.values) for t in self.trees])
c:\users\ilmat\appdata\local\continuum\miniconda3\envs\sh\lib\site-packages\numpy\core\fromnumeric.py:2505: in amax
initial=initial)
Note this only seems to occur with lightgbm older than 2.2.1, as latest lightgbm 2.2.3 doesn't seem to have this issue.  However, the check seems simple enough to be a good edge case scenario to add in for robustness.

It looks like this PR would also fix this issue for xgboost, which was closed but still seems like a good edge case to fix:
https://github.com/slundberg/shap/issues/400

Thanks! LGTM


Compiling fails on v-2024-Q2-3

Here are my error logs:
Logs
[2542/2843] Building interface/lgc/LgcDialect.h.inc...
FAILED: compiler/llpc/llvm/tools/lgc/interface/lgc/LgcDialect.h.inc /builddir/amdvlk-2024.Q2.3/xgl/build/compiler/llpc/llvm/tools/lgc/interface/lgc/LgcDialect.h.inc
cd /builddir/amdvlk-2024.Q2.3/xgl/build && /builddir/amdvlk-2024.Q2.3/xgl/build/compiler/llpc/llvm/bin/llvm-dialects-tblgen -gen-dialect-decls --dialect lgc -I /builddir/amdvlk-2024.Q2.3/llpc/lgc -I/builddir/amdvlk-2024.Q2.3/xgl/build/compiler/llpc/llvm/include -I/builddir/amdvlk-2024.Q2.3/llvm-project/llvm/include -I/builddir/amdvlk-2024.Q2.3/llpc/lgc/../imported/llvm-dialects/include /builddir/amdvlk-2024.Q2.3/llpc/lgc/interface/lgc/LgcDialect.td --write-if-changed -o compiler/llpc/llvm/tools/lgc/interface/lgc/LgcDialect.h.inc -d compiler/llpc/llvm/tools/lgc/interface/lgc/LgcDialect.h.inc.d
/builddir/amdvlk-2024.Q2.3/llpc/lgc/interface/lgc/LgcDialect.td:166:24: error: Variable not defined: 'ImmutableStringAttr'
  let arguments = (ins ImmutableStringAttr:$format, varargs:$args);
                       ^
[2543/2843] Building LgcRtqDialect.cpp.inc...
[2544/2843] Building CXX object compiler/llpc/llvm/third-party/benchmark/src/CMakeFiles/benchmark.dir/csv_reporter.cc.o
[2545/2843] Building CXX object compiler/llpc/llvm/third-party/benchmark/src/CMakeFiles/benchmark.dir/perf_counters.cc.o
[2546/2843] Building CXX object compiler/llpc/llvm/third-party/benchmark/src/CMakeFiles/benchmark.dir/reporter.cc.o
[2547/2843] Building CXX object compiler/llpc/llvm/third-party/benchmark/src/CMakeFiles/benchmark.dir/json_reporter.cc.o
[2548/2843] Building CXX object compiler/llpc/llvm/third-party/benchmark/src/CMakeFiles/benchmark.dir/benchmark.cc.o
[2549/2843] Building CXX object compiler/llpc/llvm/tools/CompilerUtils/CMakeFiles/LLVMCompilerUtils.dir/lib/CompilerUtils.cpp.o
/builddir/amdvlk-2024.Q2.3/llpc/compilerutils/lib/CompilerUtils.cpp: In member function 'llvm::iterator_range<llvm::ilist_iterator<llvm::ilist_detail::node_options<llvm::BasicBlock, false, false, void, false>, false, false> > CompilerUtils::CrossModuleInliner::inlineCall(llvm::CallBase&)':
/builddir/amdvlk-2024.Q2.3/llpc/compilerutils/lib/CompilerUtils.cpp:255:16: warning: unused variable 'bbCount' [-Wunused-variable]
  255 |   const size_t bbCount = targetFunc->size();
      |                ^~~~~~~
[2550/2843] Building CXX object compiler/llpc/llvm/third-party/benchmark/src/CMakeFiles/benchmark.dir/statistics.cc.o
[2551/2843] Building CXX object compiler/llpc/llvm/tools/CompilerUtils/CMakeFiles/LLVMCompilerUtils.dir/lib/TypeLowering.cpp.o
[2552/2843] Building CXX object compiler/llpc/llvm/lib/Target/AMDGPU/MCTargetDesc/CMakeFiles/LLVMAMDGPUDesc.dir/AMDGPUMCCodeEmitter.cpp.o
[2553/2843] Building CXX object compiler/llpc/llvm/lib/Target/AMDGPU/Disassembler/CMakeFiles/LLVMAMDGPUDisassembler.dir/AMDGPUDisassembler.cpp.o
ninja: build stopped: subcommand failed.

any idea what's causing this ?

Please check if the imported/llvm-dialects submodule is update correctly.

Hey, thanks for your answer, indeed i was using an out of date version of llvm-dialect ! i now updated to the latest master commit (ed4b46e8425066a96a5e79afc29bce3d82eecf71) and it now seems to work.
Thanks again !
(also it would be extra cool to have the used commit in default.xml or something.)

llvm-dialect is a submodule of LLPC. The commit used is specified in imported/llvm-dialects. I guess you didn't recursively sync the submodule when you update llpc.


Points not added to ps_gamifications_customer table

Have installed module on Prestashp v <IP_ADDRESS> and when all order statuses are enabled under Loyalty -> shopping points completed transactions fail to add points in table for customers.
I've tried manually adding points in that table and then Vouchers can be created and used as rewards fine.
Just seems to be an issue with automatically creating points on orders.
Is there a fix?
Thanks
Baz

Yes. There are no points added to the customer. Is there an available fix? Thank you.

There are no points added here too. Could you help us please?

The problem is in class GamificationsShoppingPointActivity on function rewardCustomer line 88. This call $order->getTotalPaid($defaultCurrency) returns an amount of zero.
If you replace $totalPaid = $order->getTotalPaid($defaultCurrency); by$totalPaid = $order->total_products_wt; it woks.
And adding $earnedPoints to GamificationsActivityHistory::log as the fourth parameter on line 125 makes reward history to show how many points are obtained with that order.


Lightning Loop stuck on update to 1.6.

just as I thought Lightning Loop got stuck like Specter and other provisions when upgrading to 1.6.1, it moved past to the next provision and continued to update. Please ignore this.


COPS-6555 calculate limits correctly

this fixes a couple places that fomerly presented misleading information:
when deploying a single app and scaling it, we might run into the case that our
former calculations came to the conclusion to display some limits (because of
unintended side effects of default values).
when having a look at the tasks of either such an app or a scaled pod, we would
also see wrong information for the tasks. they would each claim to reserve / be
limited at their own claim * scale because the calculation did not distinguish
the ServicesTable from the TasksTable.
We now got some unit tests that you can look at to get a feeling for what values
we show!

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

v6.1.1
GitHub release

Your semantic-release bot :package::rocket:


Fix _to_jax_device()

The current _to_jax_device() implementation assumes that in jax.devices devices are sorted by id but specific order is not guaranteed.
Example output with 2 processes with 4 devices each:
  [
      TpuDevice(id=0, process_index=0, coords=(0,0,0), core_on_chip=0),
      TpuDevice(id=1, process_index=0, coords=(0,0,0), core_on_chip=1),
      TpuDevice(id=4, process_index=0, coords=(0,1,0), core_on_chip=0),
      TpuDevice(id=5, process_index=0, coords=(0,1,0), core_on_chip=1),
      TpuDevice(id=2, process_index=1, coords=(1,0,0), core_on_chip=0),
      TpuDevice(id=3, process_index=1, coords=(1,0,0), core_on_chip=1),
      TpuDevice(id=6, process_index=1, coords=(1,1,0), core_on_chip=0),
      TpuDevice(id=7, process_index=1, coords=(1,1,0), core_on_chip=1),
  ]

Codecov Report
Attention: Patch coverage is 12.50000% with 7 lines in your changes missing coverage. Please review.

Project coverage is 57.44%. Comparing base (4b4fbe1) to head (2d82f76).

Files
Patch %
Lines

keras/src/backend/jax/distribution_lib.py
12.50%
7 Missing :warning:

:exclamation:  There is a different number of reports uploaded between BASE (4b4fbe1) and HEAD (2d82f76). Click for more details.
HEAD has 6 uploads less than BASE

Flag
BASE (4b4fbe1)
HEAD (2d82f76)

keras
4
1

keras-torch
1
0

keras-tensorflow
1
0

keras-jax
1
0

Additional details and impacted files
@@             Coverage Diff             @@
##           master   #19968       +/-   ##
===========================================
- Coverage   79.20%   57.44%   -21.77%
===========================================
  Files         499      499
  Lines       46789    46789
  Branches     8633     8634        +1
===========================================
- Hits        37061    26876    -10185
- Misses       7977    18238    +10261
+ Partials     1751     1675       -76

Flag
Coverage Δ

keras
57.44% <12.50%> (-21.63%)
:arrow_down:

keras-jax
?

keras-numpy
57.44% <12.50%> (+<0.01%)
:arrow_up:

keras-tensorflow
?

keras-torch
?

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

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

Codecov Report
Attention: Patch coverage is 12.50000% with 7 lines in your changes missing coverage. Please review.

Project coverage is 74.24%. Comparing base (4b4fbe1) to head (2d82f76).

Files
Patch %
Lines

keras/src/backend/jax/distribution_lib.py
12.50%
7 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##           master   #19968      +/-   ##
==========================================
- Coverage   79.20%   74.24%   -4.97%
==========================================
  Files         499      499
  Lines       46789    46789
  Branches     8633     8634       +1
==========================================
- Hits        37061    34740    -2321
- Misses       7977    10363    +2386
+ Partials     1751     1686      -65

Flag
Coverage Δ

keras
74.12% <12.50%> (-4.94%)
:arrow_down:

keras-jax
?

keras-numpy
57.44% <12.50%> (+<0.01%)
:arrow_up:

keras-tensorflow
63.66% <12.50%> (ø)

keras-torch
62.43% <12.50%> (ø)

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

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


Feature request: POSTMAN like view

This is a feature request.
Just an idea - POSTMAN is super-popular for API testing. It's downside however is pushing toward manual work. Something changed? run all the routes again manually and don't forget anything.
Many people also code tests against APIs (super popular for backend Microservices), however the test runner and results are not centered around routes. What if Majestic had a POSTMAN-like view, that shows me all my API test by HTTP method & route so I can both understand which route fails and run it like in POSTMAN
This, however, demands some cooperation from the test writer - the title format, or maybe decorators, must provide this info in an agreed way.
Does this make sense? Does this feel within the project scope?

Hi @goldbergyoni,
That's an interesting use-case but it looks like if we are to implement it, we also have to supply an SDK which allows the developers to write the tests in a certain way. Majestic's aim is to be a GUI for Jest with minimal or zero configuration and incorporating this specific use-case feels like majestic becoming more opinionated.
Can't these tests be structured using the nested describe and test methods along with snapshot assertions for the response?
I also feel a dedicated UI for this use-case could be super powerful and if you are curious to create one, feel free to fork Majestic or reach out to me if you need more details on the inner workings of Majestic.


Profile page is not responsive .

Profile page is not responsive .

Assign to me , i Will fix this issue .

I’m sorry sir, but I’m unable to clone your repository on my local device, so I’m currently unable to solve the problem


Infinite redirect loop from ADFS

What Happened
From user report (thanks @mkewins !):

"I believe I'm getting caught in a redirect loop when my password is incorrect. I might be using the wrong password for our QA testing account since it was updated recently.

Redirected back to MOVE and immediately back to the login page, with no error/status message.

What Should Happen

Redirected back to MOVE with an error message saying my password is incorrect, OR the login page says password is incorrect.

To Reproduce
On AWS dev:

Click on ""Manage Downloads"" in the side nav bar
Try and login as ""child\esavage"" (our test account)

I've observed something like this as well - need to investigate further, to see if we can find a path that reliably triggers this issue.
Marking down for version 1.2; if other users report this, we should also find possible workarounds and communicate those to them.

I've observed something like this as well - need to investigate further, to see if we can find a path that reliably triggers this issue.
Marking down for version 1.2; if other users report this, we should also find possible workarounds and communicate those to them.


Yet more style

Current coverage is 82.18% (diff: 58.33%)

Merging #241 into master will decrease coverage by <.01%

@@             master       #241   diff @@
==========================================
  Files           162        162
  Lines          6035       6056    +21
  Methods           0          0
  Messages          0          0
  Branches        636        618    -18
==========================================
+ Hits           4960       4977    +17
- Misses          958        965     +7
+ Partials        117        114     -3

Powered by Codecov. Last update 5dc9699...af3858b


Timesheet - 01/05/2021 - Mr. K

Task 1
Worked on Download Wallet Page Hifi design.
Proof of Work

https://www.figma.com/file/dniKTujBGiZmRha4OrtCOT/Download-Wallet?node-id=1%3A10

Time Spent
2.0 hours

Task 2
Worked on FAQ Handoff, Core, User Flows, and Specs.
Proof of Work

https://www.figma.com/file/C22D4Et2I0AIE0n8QwBDMm/FAQ?node-id=152%3A3508

Time Spent
2.0 hours

Task 3
Had meeting with Vyz and Muhammad about developers portal.
Proof of Work

Vyz presented the document, gave overview and mockups of ‘Developers portal’ to PM and design team.
Design team asked questions and shared their understanding of the project and gave few suggestions.
Decided the process to work on this project and have weekly meeting on it.

Time Spent
1.0 hours

Total Time Spent
5.0 hours
Account Number
c93ee24b89991a1438b45444cf06e5bb167ed1796d54a800174def4480f98ed0

Approved

Approved


dataset/webqsp/cached_desc/0.txt not found

How can I resolve these errors?  Is it versioning or a missing parameter? The dataset/webqsp/cached_desc/ files do not exist.
Steps:

Generated files dataset/webqsp/graphs/*.pt with  python  -m src.dataset.preprocess.webqsp
Create missing directory mkdir dataset/webqsp/cached_graphs
Link graphs/* to cached_graphs/* cd dataset/webqsp; ln graphs/* cached_graphs

At this point there is a new error: dataset/webqsp/cached_desc/0.txt and there are not any #.txt files.
Here is the runtime output:
$ python train.py --dataset webqsp --model_name graph_llm --seed 3 inherit model weights from sentence-transformers/all-roberta-large-v1 /data2/_user_name_/anaconda3/envs/grag/lib/python3.9/site-packages/transformers/tokenization_utils_base.py:1601: FutureWarning:clean_up_tokenization_spaceswas not set. It will be set toTrueby default. This behavior will be depracted in transformers v4.45, and will be then set toFalseby default. For more details check this issue: https://github.com/huggingface/transformers/issues/31884 Namespace(model_name='graph_llm', project='projection', seed=3, dataset='webqsp', lr=1e-05, wd=0.05, patience=5, batch_size=2, grad_steps=2, num_epochs=10, warmup_epochs=1, eval_batch_size=16, llm_model_name='7b', llm_model_path='', llm_frozen='True', llm_num_virtual_tokens=10, output_dir='output', max_txt_len=512, max_new_tokens=32, gnn_model_name='gat', gnn_num_layers=4, gnn_in_dim=1024, gnn_hidden_dim=1024, alignment_mlp_layers=3, gnn_num_heads=4, distance_operator='euclidean', gnn_dropout=0.0) Traceback (most recent call last):   File "/data2/_user_name_/gits/GRAG/train.py", line 139, in <module>     main(args)   File "/data2/_user_name_/gits/GRAG/train.py", line 34, in main     train_dataset = [dataset[i] for i in idx_split['train']]   File "/data2/_user_name_/gits/GRAG/train.py", line 34, in <listcomp>     train_dataset = [dataset[i] for i in idx_split['train']]   File "/data2/_user_name_/gits/GRAG/src/dataset/webqsp.py", line 41, in __getitem__     desc = open(f'{cached_desc}/{index}.txt', 'r').read() FileNotFoundError: [Errno 2] No such file or directory: 'dataset/webqsp/cached_desc/0.txt'

The cached_graphs will be generated automatically with python -m src.dataset.expla_graphs. Our data processing logic is:

python -m src.dataset.preprocess.webqsp will generate graphs using triples in the original data;
python -m src.dataset.expla_graphs performs retrieval on graphs and restores the retrieved subgraph as the caches for further generation.

If the graph is retrieved again every time the model is trained, the efficiency of tuning the parameters will be greatly reduced. You can store subgraphs retrieved under different settings in different folders. You only need to change the data path to the corresponding folder during training.
Hope this helpful!


Login-less roles

Allow roles to list a set of usernames which automatically get permissions. This allows server owners to give specifc users access without sharing a password (which could be leaked).

adds lua function Admin.Roles.addLoginlessRole() to create a role which will use a player list instead of a password
add lua function Admin.Roles.addMember() which adds a username to a loginless role

in terms of testing, I have been using this on all of my servers for > 2 months


Adding ping handler for lws

Codecov Report

:exclamation: No coverage uploaded for pull request base (parodus_lws@196bdb6). Click here to learn what that means.
The diff coverage is 51.35%.

@@              Coverage Diff              @@
##             parodus_lws    #105   +/-   ##
=============================================
  Coverage               ?   89.4%
=============================================
  Files                  ?      30
  Lines                  ?    2313
  Branches               ?     145
=============================================
  Hits                   ?    2068
  Misses                 ?     107
  Partials               ?     138

Impacted Files
Coverage Δ

tests/test_parodusCallback.c
98.63% <ø> (ø)

tests/test_createConnection.c
100% <ø> (ø)

src/connection.c
83.45% <0%> (ø)

tests/test_conn_interface.c
89.56% <100%> (ø)

src/conn_interface.c
51.72% <16.66%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 196bdb6...b899227. Read the comment docs.


Determine UI for when you click on new links

#10 - we changed from not opening in new tabs. We need to determine if new links should open full screen or a chat UI on the side of the page.

This seems like it might be a better fit for the #83 Re-architect UI uber story as opposed to the EF one

No angular happening now in .6, moving to backlog


fix Failed to execute 'setAttribute' on 'Element'

fix Failed to execute 'setAttribute' on 'Element': 'data-yiiCaptcha/site/captcha' is not a valid attribute name.

Merged. Thanks!


ARTEMIS-4406: update LocalCache to use a ConcurrentHashMap

Address thread safety issue noticed during #4584

Actuallly...I had a further look at this after our discussion earlier, and though it appeared safe, it turns out there is indeed a related issue within AbstractJournalStorageManager class. https://github.com/apache/activemq-artemis/pull/4603 raised for that.


new test suite

issue for tracking development of new tests

From panpredic
==================================== ERRORS ====================================
___________ ERROR collecting modules/PanPredic/tests/pan_run_test.py ___________
ImportError while importing test module '/home/travis/build/superphy/backend/app/modules/PanPredic/tests/pan_run_test.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
modules/PanPredic/tests/pan_run_test.py:1: in <module>
    import modules.pan_run
E   ImportError: No module named pan_run
!!!!!!!!!!!!!!!!!!! Interrupted: 1 errors during collection !!!!!!!!!!!!!!!!!!!!
=========================== 1 error in 0.94 seconds ============================

Looks like the above occurs in PanPredic's repo as well.
==================================== ERRORS ====================================
____________________ ERROR collecting tests/pan_run_test.py ____________________
ImportError while importing test module '/home/travis/build/superphy/PanPredic/tests/pan_run_test.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
tests/pan_run_test.py:1: in <module>
    import modules.pan_run
E   ImportError: No module named modules.pan_run
___________________ ERROR collecting tests/uploader_test.py ____________________
ImportError while importing test module '/home/travis/build/superphy/PanPredic/tests/uploader_test.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
tests/uploader_test.py:1: in <module>
    import modules.PanPredic.uploader
E   ImportError: No module named modules.PanPredic.uploader
!!!!!!!!!!!!!!!!!!! Interrupted: 2 errors during collection !!!!!!!!!!!!!!!!!!!!
=========================== 2 error in 0.12 seconds ============================
The command "python -m pytest -v" exited with 2.

PanPredic tests have an imports issue since it works out of this repo (and not in it's own). I've updated it so the tests are included in this repo, though they won't pass in PanPredic's repo. A proper fix would be better if we expand on PanPredic's codebase.

All current tests are passing atm., tagging this version at https://github.com/superphy/backend/releases/tag/v5.0.2 before adding new tests.

I'm about to integrate tox and coveralls into the https://github.com/superphy/backend/tree/244-tests branch.

Looks like tox doesn't play well with conda https://bitbucket.org/hpk42/tox/issues/273/support-conda-envs-when-using-miniconda

Closing for now as we focus on poking Blazegraph. It would be good to check that POSTs to API routes (ie. when the reactapp submits tasks) result in options being parsed correctly. Future test.


Add basic support for MP4 files

This PR adds basic support for reading MP4 files.
I only cared about reading metadata so the code is extremely simple and makes some assumptions about the layout of "atoms" in files.
I've added a test mp4 file with all tags that EasyTag allowed me to set.
I don't have a lot of "real-world" mp4 files, only some that I got with youtube-dl, so it's possible something is broken.

I'd like to familiarize myself a bit more with the mp4 format and do some cursory fuzz testing before merging.

Sure ! (also thanks for your articles on fuzz testing, it helped me a lot when working on my sqlite wrapper)
Note that I'm not that familiar with MP4 either, I learned what I know over the week-end so it's entirely possible I missed something.

I think I addressed all your feedback. I also fixed an additional overflow bug found via fuzzing.

Looks good, thanks! I only just realized that .m4a is just another extension for the same format, and I have a decent amount of .m4a files in my music collection, so I'll likely be expanding on this implementation in the future.
(also, thanks for your zig-sqlite library, I used it recently when making this and it made that part of things very easy)


extract ReadableXXX to a standalone repo

Development Task
ReadableXXX structs are quite commonly used. Extracting them can be beneficial for all other repositories that wants to reuse the logic. For example, raft-engine can reuses the struct instead of reimplementing its own. We may also publish it to crates.io.
https://github.com/tikv/raft-engine/blob/812a8c0d0074837baa7f5340a942b614fa93437b/src/util.rs#L23-L49

It's nice to have, but given raft-engine already paid the cost, it seems not a high priority work for now. I suggest we can revisit it when someone needs the same logic in other repo again.

Not sure, but may be many things in the tikv_util could also be beneficial to the ecosystem :)

@breezewish Agree. ReadableXXX is just a start. And just publishing tikv_util to include all packages is not a good idea.


[FLINK-1320] Add an off-heap variant of the managed memory

The MemorySegment class has been converted into an abstract class. Its old JVM
heap implementation can now be found in HeapMemorySegment. In addition, an
implementation which uses direct (outside the JVM heap) memory allocation can be
found in DirectMemorySegment. Both of the classes use the sun.misc.Unsafe class
which modifies the memory directly. This method is unsafe in the sense that any
incorrectly written bytes may crash the JVM. By default, both classes perform
boundary checks when writing to the memory.
The DefaultMemoryManager has been renamed to HeapMemoryManager. In addition, a
DirectMemoryManager has been added. The classes' main difference is the queue
freeSegments which holds the memory segments. In the HeapMemoryManager, the
queue holds byte arrays while in the DirectMemoryManager, the queue holds
ByteBuffers.
The direct (off-heap) memory management is enabled for the task manager when the
config entry "taskmanager.memory.directAllocation" is set to "true". Like for
the heap memory management, if "taskmanager.memory.size" is set to a value
greater 0, the amount of memory in mega bytes will be allocated for the memory
allocation. Otherwise, a fraction (0.7) of the task manager JVM heap will be
used to determine the amount of memory to allocate. As of now, the user has to
take care to properly adjust the task manager's heap memory size (as configured
in "taskmanager.heap.mb") when using direct (off-heap) memory allocation.
The tests for all classes have been changed to test both classes.

Cool. Can you add some documentation on the feature? In particular what users have to do to use the off-heap memory.

Right now, the DirectMemorySegment is only test covered by unit tests. I think we should ensure that it is also tested as part of some integration tests (at least one).

@uce To achieve optimal test coverage, we could modify all tests which use the HeapMemorySegment to run with the DirectMemorySegment as well. Another approach would be to randomly select one of the two implementations.

I actually like the idea that tests (when starting the mini cluster) randomly select one of the two implementations.
We can add that after including this, though, because right now this is an optional feature that is not turned on by default.

@StephanEwen Thanks for pointing that out. This should probably go into a separate issue.

After running several integration tests, I discovered some issues with the off-heap memory allocation. I'm not completely sure what is causing the issue but I'm looking into it now.

@rmetzger I added some documentation for the config parameter.

I've just seen that there is a (pre this PR) check in DataInputDeserializer.setBuffer(ByteBuffer) whether the given byte buffer is a direct byte buffer or not. In case that the byte buffer is direct, it is copied into an heap array. This introduces an unnecessary buffer copy.
This has not been introduced with this PR, but I think it is still relevant.

Ufuk and me just investigated the cause of the failed integration tests with direct memory management enabled. Turns out, the compare method was implemented incorrectly.

@uce DataInputDeserializer.setBuffer(ByteBuffer) doesn't seem relevent for this pull request. The check for the direct byte buffer is not necessary since it is always called with ByteBuffers allocated from heap memory. These buffers are relatively small sized and probably much quicker allocated on the JVM heap than outside.

I made some finally changes that were required for the current master. Also, I ran all integration tests with direct memory allocation enabled. Any objections for merging this pull request?

Nice :-) Regarding the DataInputDeserializer: You are right that it is currently not used, but I think with off-heap memory enabled the buffers will always be copied to a heap byte array, no? That's why I mentioned it.

Did you run the integration tests manually or did you also implement the idea of randomly choosing on/off-heap memory for the integration tests?

@uce Yes, it will be copied from off-heap to heap first. There are also other places like the EventSerializer where this is the case. I guess it depends on the amount of data that is being copied. If you want to operate on a byte array, then you have to copy it into the JVM heap.
@uce I ran the integration tests manually. We could add the random testing in a separate pull request.

We could implement a DataInputDeserializer variant, which directly operates on MemorySegment instances to circumvent this. I agree that this should not be part of this PR.

At a first glance, this is entirely missing test cases for the DirectMemorySegment.
Considering that this is code that an kill the JVM with segfaults if buggy, this needs very thorough testing.

Not entirely, all unit tests in MemorySegmentTest and MemoryManagerTest
are executed for both, the old heap and the new off-heap implementation.
Nevertheless, more thorough testing would be desirable.
Am 19.01.2015 00:28 schrieb Stephan Ewen:

At a first glance, this is entirely missing test cases for the
DirectMemorySegment.
Considering that this is code that an kill the JVM with segfaults if
buggy, this needs very thorough testing.
--
Reply to this email directly or view it on GitHub [1].

Links:
[1] https://github.com/apache/flink/pull/290#issuecomment-70432006

This is subsumed by Stephan's new PR.

Closing this to continue the discussion at #1093.


How the variable of a custom loss update in distributed training?

❓ Questions and Help
class testLoss(nn.Module):
def __init__(self):
    super(testLoss, self).__init__()
    self.mat= np.zeros((10, 1024), dtype=np.float32)

def forward(self, features, index):

    features = features.cpu().detach().numpy()
    self.mat[index] = features[index]

If training on one GPU, I'm sure the matrix will be updated correctly.
If training on multiple gpus, how the variable update? Is there only one matrix in the training? If not, how to do?

Hi @haochange,
The update is the same. The only potential issue in distributed training is DDP which happened when you have unused layers.
In distributed training, maskrcnn-benchmark uses the torch.nn.parallel.DistributedDataParalle to synchronize the parameters. If you are interested in this process, check this [file] (https://pytorch.org/docs/stable/_modules/torch/nn/parallel/distributed.html). Basically, each GPU contains a copy of the model.  During the backwards pass, gradients from each node are averaged.

Hi @haochange,
The update is the same. The only potential issue in distributed training is DDP which happened when you have unused layers.
In distributed training, maskrcnn-benchmark uses the torch.nn.parallel.DistributedDataParalle to synchronize the parameters. If you are interested in this process, check this [file] (https://pytorch.org/docs/stable/_modules/torch/nn/parallel/distributed.html). Basically, each GPU contains a copy of the model. During the backwards pass, gradients from each node are averaged.

Do you mean here:
https://github.com/facebookresearch/maskrcnn-benchmark/blob/f55844c9aeb5e4d5e6b148c30cd87c64895dd268/maskrcnn_benchmark/engine/trainer.py#L76
the loss backwarding is the loss gathered from all GPUs? How?
I use multi GPUs on the same machine.
I think this for loop https://github.com/facebookresearch/maskrcnn-benchmark/blob/f55844c9aeb5e4d5e6b148c30cd87c64895dd268/maskrcnn_benchmark/engine/trainer.py#L56
is running in parallel in each GPU, right? If so, are there multi backward pass and multi saving like https://github.com/facebookresearch/maskrcnn-benchmark/blob/f55844c9aeb5e4d5e6b148c30cd87c64895dd268/maskrcnn_benchmark/engine/trainer.py#L104?
Since I only use torch.nn.DataParallel before, I think there is only one process if using torch.nn.DataParallel, right?

Hi,
This repository uses nn.DistributedDataParallel instead of nn.DataParallel. According to my personal experience, nn.DataParallel has some performance issues related to Python. Maybe PyTorch developers can explain better.
nn.DistributedDataparallel is like the nn.DataParallel to hide the synchronization details, so the users
do not need to handle this part by themselves.  Compared to nn.DataParallel, for the machine with 4 gpus as the example, there will be 4 processes and each contains a replicated of the model and a different dataloader. So, each process will run its own forward and backward pass. Then in the forward pass, nn.DistributedDataParallel will synchronize the parameters and buffers (https://pytorch.org/docs/stable/_modules/torch/nn/parallel/distributed.html). For the checkpointer, each process all have their own checkpointer, but only the checkpointer in the rank0 process will work
(https://github.com/facebookresearch/maskrcnn-benchmark/blob/master/tools/train_net.py#L49-L52)


test: remove superfluous test dependencies

Signed-off-by: Muge Chen<EMAIL_ADDRESS>Commit Message: remove superfluous includes
Additional Description: The monolith mock library mocks/server/mocks.h is included by several tests but never used. Remove them to speed up building phase
Risk Level: low
Testing: existing tests
Docs Changes: N/A
Release Notes: no
Related Issues: #10917
/cc @ahedberg

Nice clean up!  Looks like this may have removed it from a test that needed it though - mind checking out CI?

Thanks! Did we run comparisons of compile time before/after this change?

@ahedberg yes, we can talk about this at the standup

Would be curious to see the build-time comparison once everything is working.
Did you use a tool to discover which dependencies were superfluous?

Would be curious to see the build-time comparison once everything is working.
Did you use a tool to discover which dependencies were superfluous?

I will post the comparison to the issue page referred by this pr.
Currently the superfluous dependencies are detected by simple keyword matching. i.e. find whether there're keyword 'Server::Mock***' appeared in the code file which includes 'test/server/mocks.h'. I wrote some scripts to refactor the code base and will upload it later.

+1 would love to see numbers iff you have them handy, but this looks like an improvement either way :-)


PropertyFieldCollectionData onChanged missing

Category

[x] Enhancement
[ ] Bug
[ ] Question

Version
Please specify what version of the library you are using: [1.20.0]
Expected / Desired Behavior / Question
WIthout an onChanged or onItemDeleted callback there is no way to perform data clean up in case a data row is deleted by the user.
There already is an onChangeCallback in the render method that is not part of the interface.
Thanks!

Hi @IRRDC
Could you please provide a bit more details of your scenario?
When you use PropertyFieldCollectionData you're providing targetProperty value.
The control will update the value of that property if something got changed.
PropertyFieldCollectionData("collectionData", {
  key: "collectionData",
  // ...
  value: this.properties.collectionData,
  // ...
})

@AJIXuMuK I have switched to using the generel property changed event as a workaround. I was doing some interaction while the dialog was open (displaying all the entered values from all rows in one column as a hint) and was using the changed events from the controls in the rows but what I could not detect was when a row in the dialog got deleted (and I had to remove a value from my hint). Now I only update the hints after the dialog has been closed and the values have been saved, which is okay for now.

Thanks @IRRDC!
Yeah, this is by design behavior. As this is just a property control, it shares the "final" state of the user's configuration.
Sorry that it's not fit your needs by 100%...


Activity bar icon focus indicator is hard to see (probably should be independently themable)

If you switch to the explorer sidebar when there is no folder/workspace open you will see the active activity bar line is not correct.

This seems to happen anytime a sidebar doesn't set input focus into the view. It also can happen with custom views.

This is by design, when you click on the file explorer and there is nothing in the sidebar the focus is changed to the activity bar item. So if you hit "tab" you will start tabbing through the activity bar. We hide the active border when an activity bar item is focused.

cc @isidorn for focus in the activity bar items

After talking with @misolori I am re-opening this, but changing it to be specifically about the focus indicator color. And will be opening another issue about the view focus strangeness.

Based on conversations, I'll introduce a new color token for the active border that will be something like activityBar.activeFocusBorder for when the item is in focus.

You can theme the active border when it is focused via activityBar.activeFocusBorder:


How to insert query after create table

Latest nodejs, latest nodejs-bigquery,
Seems like I can't insert using table response after create table
const [table] = await bqClient
.dataset(bqDataset)
.createTable(bqTable, options);

await table.insert(mapData); /// not working and resulting to "Table<PHONE_NUMBER>21:dataset_name.table_name not found."

SOLVED, was a unique solution here to solve.
Previous code
function underTheSameSun({ table = null }) {
  await table.insert(/* rows */);
}

// how i call the function

const [table] = await bqClient
.dataset(bqDataset)
.createTable(bqTable, options);

underTheSameSun({ table });

How I solve
function underTheSameSun({ table = null }) {
  await table.insert(/* rows */);
}

// how i call the function

const [table] = await bqClient
.dataset(bqDataset)
.createTable(bqTable, options);

underTheSameSun({ table: table }); <- this the key, `table` variable is not recognized as valid object to call the function `insert`

I found it was much more complex bug, seems the solution to be flaky.

The issue was the table creation was need some time to resolve even using asynchronous, but why this isn't mention everywhere on the docs?

The solution was to using setTimeout / sleep / delay.
Reference :
https://github.com/wepay/kafka-connect-bigquery/pull/248/commits/ca32148235dff53c05c6eb6f27c8d2037ee203fa
https://github.com/googleapis/google-cloud-go/issues/975


Remove proteins exclusively found in control samples

For capture experiments data, remove proteins found only in control (and considered as artifact in this case)

Proteins p-values are updated with respect to their status (specific or present in both conditions) and the chosen type of test (one-sided or two-sided) : enough to filter unwanted proteins such as the ones found only in control samples in case of capture experiment


unnecessary extra semi colon in docs

in docs at https://react-redux.js.org/using-react-redux/connect-mapstate#ownprops-optional
;<Component id={123} />

This is likely a side-effect of older versions of Prettier. Thanks!


Skip dependency caches path in _findRoots.

Fixes #268.

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

Looking good. Do you mind adding a test?

@rrousselGit
While adding the test, I noticed the current code is not sufficient for a multi-package project like this case.
I still think we should check the contextRoot path which nests .dart_tool and .symlinks, but how about it?

Sure. As I said, ignoring those is valuable. Just make sure to test everything :)

@rrousselGit I'm sorry to rush you, but could you review again?
This blocks some project's CI using custom_lint.

@rrousselGit @Kurogoma4D guys thanks for the work.
We are also waiting for this fix, can you estimate when it can be published? It breaks our git hooks.


Uncaught TypeError: Cannot read property 'start' of undefined

Hi,
Really like this plugin, so I'm reporting this bug.
Using Owl Carousel v2.0.0-beta.3, Thumbs v2.0.0
Here is my call:
$('.gallery-slider').owlCarousel({ 	items: 1, 	thumbs: true, 	thumbImage: true, 	loop: true, 	dots: false });
With dots: false, the thumbs do nothing when clicked. Console log returns the error above. With dots: true, the thumbs work fine. So I'm temporarily using CSS to hide them.
Please fix :)

Thanks for reporting! Published a new release.


Support more (any?) document format

we only support pdf, djvu, epub and mobi and there is no actual reason to not support arbitrary extensions.

solved via https://github.com/christianpoveda/librarian/commit/9cd7ed45f2a62ce8d3af7c04f01e7a04f69b08ed


[ASTPrinter] Print subscript generic parameters and requirements

These were ignored previously.

Resolves SR-6425.

@swift-ci please test

Build failed
Swift Test OS X Platform
Git Sha - c1079720cd0b9f20a9caa8486ed94f779241682d

@swift ci please test OS X

@swift-ci please test OS X


How to match album name as key in path configuration?

Hello everyone,
I imported mixtapes as singletons so far but seeing that I have a few that are a series of mixtapes I now want to move those into a compilations subfolder. I thought of trying it like this:
paths:
    default: $albumartist/$year - $album%aunique{}/$track $title
    singleton: Non-Album/$artist/$title
    comp: Compilations/$album%aunique{}/$track $title
    albumtype:soundtrack: Soundtracks/$album/$track $title
    album::'^Foobar': Compilations/Foobar/$title ($artist)

Where Foobar is the series I want to be sorted differently. Unfortunately it seems I can not match like this in the path configuration? At least everything is still sorted into Non-Albums
Any idea how I might be able to do this? Should I look into the inline plugin instead?

I see a couple of issues here:

First, paths are searched in order. So place your new rule above the "singleton:" line for it to take precedence.
You'll want to follow YAML syntax and quote the entire query (i.e., the dictionary key). Do something like 'album::^Foobar': Compilations/Foobar/....

Let us know if those make this work.

It works wonderfully and I was able to re-import/move the tracks like this:
beet ls -p album:'Foobar'  | perl -p -e "s/\n/\0/;" | xargs -0 -n1 beet im -A

(Would be nice if this could be done directly with something like beet im -A -L QUERY but this works for me)
Thank you for your help!

The beet move command may be what you want. :smiley:


Hex/RGB color codes

Support for hex colors?

Uh, in what context? (I.e. where do you want to use RGB colors, and where is that even possible? Banners maybe?)

Ohh, i see. Sure, why not :)

This requires the 1.17 API however as it's specifically for that version

Mhm, this needs to be implemented in a backwards compatible manner. I'll take a look at the API, maybe there is a good way to do that.


Linking to the same resource from multiple topics aids findability

📆 Study info
Information architecture usability testing - October 2022 - Facilitator: @ClementineHahn
🚦 Issue severity

💚 Enabler - This helped the participant do something more effectively or efficiently.
📝 What happened?

The task was to find information on what a service designer does. Most participants looked for this information in the hiring topic section. One participant said "I'm not looking to hire a service designer so I'll look in "design" instead of "hiring." Had the "Service design at CDS" page only been linked in one topic section, some participants would have had made the wrong choice and had more difficulty finding the information.
📗 User story
As a public servant seeking specific information, I need resources to appear in each topic they connect to, so that if I look in a category that relates to my particular situation, I will find what I'm looking for.
📜 Recommendations

When adding a new resource, consider what other topics it might relate to depending on what a user is trying to do.
From a content strategy perspective, we may want to reconsider anchoring resources to specific goals since users with other goals may still find it useful, but be unable to find it if it's too tightly tailored to a goal-based category
If pages need to belong to a single topic as a parent-child relationship, but are also linked to from multiple topics, monitor and manage the difficulty of staying oriented when jumping between topics as the site grows.

Potential opportunity:

Link related resources in both directions automatically?
Connect English and French related resources automatically?


Support Directory Filter

It would be nice if there is a download Directory filter in the side bar. I have multiple download directories, so it would be cool to see the information of the torrents in those different directories. Besides, I hope it can show the torrent size of each filter, not just the number of torrents. Below is the screenshot of Transmission Web Control.
Thanks!

You can already filter by directory with the search bar, for example if you search for /home/wwwroot/, it will return all torrents in this directory.
And for the total size by filter, I'll try to add the total size of the torrent list next to the torrent count at the top of the list.

But it should be more explicit if there is a directory filter, particularly convenient for multiple different download directories

The problem is that there's not much space available in the sidebar, especially on mobile devices, so it is difficult to display a directory tree.

Torrent list size added in v1.6.1, thank you for your suggestion.
I'll reopen this issue if I find a way to implement the directory tree.

I'll reopen this issue if I find a way to implement the directory tree.

Please look at Torrnado UI. For me now it the best sorting and filtering UI for transmission in mobile.
Dir tree in full not needed, you can left only different path.
Like this
/mnt/data/audio
/mnt/data/video/anime
/mnt/data/video/films
become
audio
video/anime
video/films


Prevent applying CDN domain on non-src attributes

Apply CDN domain only on img src attributes.

Pull Request Test Coverage Report for Build 55

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.7%) to 95.363%

Files with Coverage Reduction
New Missed Lines
%

src/Components/ImageTransformer.php
1
76.36%

Totals

Change from base Build 50:
-0.7%

Covered Lines:
473

Relevant Lines:
496

💛  - Coveralls


Question: any ETA on Zuul 2?

We're using Zuul together with spring cloud Netflix as our api gateway and have a custom ZuulFilter for authentication against a remote system.
This is why we are interested in an asynchronous filter mechanism as we fear many concurrent users authenticating at the api gateway would lead to many blocked threads which limits the total concurrent users using the api.
So what's the plan for Zuul 2? Any release coming soon?
Thanks.
Sorry to post as github issue, but I didn't find another possibility to get in touch.

@thjaeckle
Please take a look at #139 which answers a similar question.

Closing this as it is a duplicate. #139 is the primary issue we can discuss NIO, non-blocking, reactive Zuul implementation questions.


yarn: added a Docker image for yarn

This image can be used by Portus in the development workflow.
Signed-off-by: Miquel Sabaté Solà<EMAIL_ADDRESS>

I've checked locally and it solves SUSE/Portus#1892.

I've checked locally and it solves SUSE/Portus#1892. The Dockerfile has been adapted from the opensuse/portus image (because the packages are downloaded from the same OBS project).

Do we need to create/maintain an yarn docker image for this? I mean... It's for development and maybe just using latest for the previous repo is enough and simpler?

Do we need to create/maintain an yarn docker image for this? I mean... It's for development and maybe just using latest for the previous repo is enough and simpler?

I've tried to use different tags from the previous image, but then other things were failing... I'll try latest and let you know.

Ok, I should've tried the latest tag before. Closing...


UIBULKED-143 Prevent user from clicking on "Commit changes" in "Are you sure" form until preview is completed

Purpose

https://issues.folio.org/browse/UIBULKED-143
Approach

TODOS and Open Questions

Learning

Pre-Merge Checklist
Before merging this PR, please go through the following list and take appropriate actions.

[ ] I've added appropriate record to the CHANGELOG.md
Does this PR meet or exceed the expected quality standards?

[ ] Code coverage on new code is 80% or greater
[ ] Duplications on new code is 3% or less
[ ] There are no major code smells or security issues

Does this introduce breaking changes?

[ ] If any API-related changes - okapi interfaces and permissions are reviewed/changed correspondingly
[ ] There are no breaking changes in this PR.

If there are breaking changes, please STOP and consider the following:

What other modules will these changes impact?
Do JIRAs exist to update the impacted modules?

[ ] If not, please create them
[ ] Do they contain the appropriate level of detail?  Which endpoints/schemas changed, etc.
[ ] Do they have all they appropriate links to blocked/related issues?

Are the JIRAs under active development?

[ ] If not, contact the project's PO and make sure they're aware of the urgency.

Do PRs exist for these changes?

[ ] If so, have they been approved?

Ideally all of the PRs involved in breaking changes would be merged in the same day to avoid breaking the folio-testing environment.  Communication is paramount if that is to be achieved, especially as the number of intermodule and inter-team dependencies increase.
While it's helpful for reviewers to help identify potential problems, ensuring that it's safe to merge is ultimately the responsibility of the PR assignee.

@folio-org/fe-tl-reviewers review please