[Not Issue] Couple of questions on the framework

First of all its an interesting framework and I need a few information to see if I can try it out.

For me the firebase paths are already defined. If that is the case, how can I tell the object to use a particular path?  Right now you are using version/modelversion/modelName, which wont work in my case.

I have a nested subcollection usecases in my project as explained here (https://stackoverflow.com/questions/54751023/swift-firestore-sub-collections-custom-objects-and-listeners/54751305#comment96528634_54751305) will this framework ease my flow?.

Hi @anoop4real
Thank your for your message.

You can customize the Object path.
https://github.com/1amageek/Pring/blob/master/Pring/Object.swift#L33

Pring also supports deep nesting.
https://github.com/1amageek/Pring/blob/master/PringTests/PackReferenceTests.swift#L48

Hi,
Thanks for the reply,

Can the path be dynamic?

For example: my Country data looks like
apiVersion/Countries/(Country1, Country2...)/States...
So if I set up a State object, the state object should know the path till the particular country document
Right now I am creating the reference dynamically and the State object doesnt know it.
db.collection("apiVersion").document({versionPlaceholder}).collection("Countries").document({countryPlaceHolder}).collection("states")

Hope I am able to explain it.

It can be given dynamically by using setRefernece.
https://github.com/1amageek/Pring/blob/master/Pring/Object.swift#L222

Thanks again, I really appreciate your prompt replies...
I have more queries ;). If I want to retrieve all countries....I would do
db.collection("apiVersion").document({versionPlaceholder}).collection("Countries").getDocuments...

what is the equivalent in Pring? In the sample, most of the places, you are directly getting data by providing id.
Lets say below are my classes, how can I get all countries and their respective states
@objcMembers
class Country: Object{

    dynamic var name: String?
    dynamic var capital: String?

    let states: NestedCollection<State> = []
}

@objcMembers
class State: Object{

    dynamic var name: String?
    dynamic var capital: String?

    let provinces: NestedCollection<Province> = []
}

@objcMembers
class Province:Object {
    dynamic var name: String?
}

I dont get something like Country.getAll

@anoop4real
Use DataSource for Collection get
https://github.com/1amageek/Pring#datasource
// get
let dataSource = County.query.dataSource().onCompleted( { _, _ in

}).get()

// listen
let dataSource = County.query.dataSource().onCompleted( { _, _ in

}).listen()

Counter.where("", "").dataSource()

Hi @anoop4real
Do you have any other questions?
Please close if it is not there.

Hello @1amageek
I have more queries...
My intention is to get a list of countries and each country object should be full that means
if i do a country.state or country.state.province I should get the value, check my post here to see how I am getting it now ...https://stackoverflow.com/questions/54751023/swift-firestore-sub-collections-custom-objects-and-listeners  , I would like to avoid this and want to have a better way and I think Pring can help
Below is what I am trying....see if this is the way..
    func getCountries(){
        let country: Country = Country()
        country.setReference(db.collection("apiVersion").document("1").collection("Countries"))
        var dataSrc: DataSource<Country> = country
        dataSrc.query.dataSource().onCompleted { (snapshot, countries) in

            // Will this countries contain the States 0r I have to do a loop like this?
            for country in countries{
// How do I set the reference for each state, will it be implied from Country?
                country.states.query.dataSource().onCompleted({ (snapshot, states) in
                    //.loop for provinces??
                })
            }
        }
    }

@anoop4real
@objcMembers
class State: Object{

    dynamic var name: String?
    dynamic var capital: String?
    dynamic var provine: Relation<Province> = .init()
}

@objcMembers
class Province:Object {
    dynamic var name: String?
}

Please look at READEME
https://github.com/1amageek/Pring#datasource
self.dataSource = User.order(by: \User.updatedAt).dataSource()
    .on({ [weak self] (snapshot, changes) in
        guard let tableView: UITableView = self?.tableView else { return }
        debugPrint("On")
        switch changes {
        case .initial:
            tableView.reloadData()
        case .update(let deletions, let insertions, let modifications):
            tableView.beginUpdates()
            tableView.insertRows(at: insertions.map { IndexPath(row: $0, section: 0) }, with: .automatic)
            tableView.deleteRows(at: deletions.map { IndexPath(row: $0, section: 0) }, with: .automatic)
            tableView.reloadRows(at: modifications.map { IndexPath(row: $0, section: 0) }, with: .automatic)
            tableView.endUpdates()
        case .error(let error):
            print(error)
        }
    })
    .on(parse: { (snapshot, user, done) in
        user.group.get({ (group, error) in
            done(user)
        })
    })
    .onCompleted({ (snapshot, users) in
        debugPrint("completed")
    })
    .listen()

Hello @1amageek
I am not sure whether you are able to get my query. Did you have a look at my Stackoverflow post. In the approach explained there, I get all the Countries , states and provinces in one shot through recursive loop and assign those the right hierarchy. ie if I take a Country object, the states and provinces comes along.
Now here are the questions. Read my comments ** , your readme is not telling me this.
    func getCountries(){
        let country: Country = Country()
        country.setReference(db.collection("apiVersion").document("1").collection("Countries"))
        var dataSrc: DataSource<Country> = country
        dataSrc.query.dataSource().onCompleted { (snapshot, countries) in

            **// Will this countries contain the States 0r I have to do a loop like this? Do I have to do this loop?**
            for country in countries{
**// How do I set the reference for each state, will it be implied from Country?**
                country.states.query.dataSource().onCompleted({ (snapshot, states) in
                    **//should I again loop for provinces??**
                })
            }
        }
    }


hotfix/restrooms -> dev

This change is

Reviewed 4 of 4 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


docs: add underlay and overlay network coexist

Thanks for contributing!

What type of PR is this?

kind/doc

What this PR does / why we need it:
docs: add underlay and overlay network coexist
Which issue(s) this PR fixes:

Fixes https://github.com/spidernet-io/spiderpool/issues/3407
Special notes for your reviewer:

sign off commit

any updates ?

It will be finished in the last few days.


Update README.md

I'm generally biased towards discrete wiki pages that explains a particular thing in detail.

I'm generally biased towards discrete wiki pages that explains a particular thing in detail.

In the short term, I agree with Wiki pages. In the long term, #109 will likely fulfill that purpose.

Having the frontend files in a subfolder and the backend in the main folder seems weird to me. In my opinion, the installation guides should either be:

both in the main README.md file
both in a separate how_to_install.md file that is linked in the main README.md file.

In the future, I even think that the installation process should be "how to install the TQEC stack fully". Installing only one of the two components (frontend or backend) is a development process, and can be documented elsewhere.

Installation guides are conventionally placed towards the top of README.md

Moving to a new branch: https://github.com/QCHackers/tqec/pull/158


Docs for MSVS 2022 17.9.2 are incorrect, re: building a visual basic WPF application

Information is incorrect - search for 'WPF', select 'Visual Basic' from the drop down, and there are no results.

@Scatterblak -- are you following a particular learn.microsoft.com article?  Meanwhile, please consider these resources:

Ask a question or find an answer on the Microsoft Q&A page for Visual Studio.
Stack Overflow
Reddit

No, but I found the issue -- I installed the new CoPilot onto my MSVS, and for some reason, it unchecked the .NET Desktop workload. Once I added the workload back, WPF's are there again.


Add the posibility of zipping a specific subfolder from the workspace

Hi,
I added a new configuration option that allows users to specify a subfolder to zip instead of the whole workspace. Usually there's a lot clutter in the workspace and only a designated build folder should be packed and uploaded to S3. The appspec.yml file and attached .sh scripts must be copied in the subfolder ahead of time.
Cosmin

This would be very useful.  I ended up having to copy artifacts to the root of my workspace to get a usable revision.

Closing an reopening later since I wasn't on a branch when making this pull request.


Add support for generated columns

This PR fixes #90
Generated columns are set as readonly.
Signed-off-by: Kivanç Bilen<EMAIL_ADDRESS>

Could you make the tests pass in CI?

Could you make the tests pass in CI?

It is a bit tricky, I couldn't reproduce it on my local all the time, I suppose constraints table is not populated quick enough after table creation that's why it cannot find primary keys and throwing error. Nevertheless I am working on it.

(there is a failing test on windows that's unrelated).


feat: adjust default Navigation map range

adjust default Navigation map range to 3nm from 10nm

The optimal range will vary depending on the world, equipment, and operational conditions. Therefore, users should set the appropriate value by self.


Merges Master to Live. See commits for details.

Docs Build status updates of commit 676c4e9:
:clock10: Full build: the average full build time is 11 min(s) 59 sec(s), this is based on the last 700 build(s) for this repository.

Docs Build status updates of commit 676c4e9:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-server/Stop-SPContentTypeReplication.md
:white_check_mark:Succeeded
View (sharepoint-ps)

skype/skype-ps/skype/New-CsTeamsMeetingPolicy.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/Set-CsTeamsMeetingPolicy.md
:white_check_mark:Succeeded
View (skype-ps)

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

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

Docs Build status updates of commit 9d0f8b9:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-server/Stop-SPContentTypeReplication.md
:white_check_mark:Succeeded
View (sharepoint-ps)

skype/skype-ps/skype/New-CsTeamsMeetingPolicy.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/Set-CsTeamsMeetingPolicy.md
:white_check_mark:Succeeded
View (skype-ps)

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

Docs Build status updates of commit 2e8dba5:
:clock10: Full build: the average full build time is 11 min(s) 59 sec(s), this is based on the last 704 build(s) for this repository.

Docs Build status updates of commit 2e8dba5:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/sharepoint-ps/sharepoint-server/Stop-SPContentTypeReplication.md
:white_check_mark:Succeeded
View (sharepoint-ps)

sharepoint/sharepoint-ps/sharepoint-server/sharepoint-server.md
:white_check_mark:Succeeded
View (sharepoint-ps)

skype/skype-ps/skype/New-CsTeamsMeetingPolicy.md
:white_check_mark:Succeeded
View (skype-ps)

skype/skype-ps/skype/Set-CsTeamsMeetingPolicy.md
:white_check_mark:Succeeded
View (skype-ps)

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


Add changelog section to the documentation

Description

Add changelog section to the documentation pages
Enable markdown on the documentation

Note: I had to bump the version of the importlib_metadata package in order to resolve a version conflict with the pytest-randomly package.
This PR applies the change of #2877 on the ISO4 branch.
Part of inmanta/irt#417
Self Check:

[x] Attached issue to pull request
[x] Changelog entry
[x] Type annotations are present
[x] Code is clear and sufficiently documented
[x] No (preventable) type errors (check using make mypy or make mypy-diff)
[x] Sufficient test cases (reproduces the bug/tests the requested feature)
[x] Correct, in line with design
[ ] End user documentation is included or an issue is created for end-user documentation

Reviewer Checklist:

[ ] Sufficient test cases (reproduces the bug/tests the requested feature)
[ ] Code is clear and sufficiently documented
[ ] Correct, in line with design

Processing this pull request

Merged into branches iso4 in c371717dc925aeafafb6527a8bdc4614dec107e9


add option to set ingesters podManagementPolicy

What this PR does:
Add option to specify podManagementPolicy when using ingesters as statefulset
Checklist

[x] CHANGELOG.md updated - the order of entries should be [CHANGE], [FEATURE], [ENHANCEMENT], [BUGFIX]

I believe the recommended option is to have it as Parallel, should I change the default option?
Cortex mixin have it as Parallel by default
https://github.com/grafana/cortex-jsonnet/blob/c1244964dbbc7901a8ef13327c157d6b1fac7e8d/cortex/tsdb.libsonnet#L126
More info: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies
Parallel pod management tells the StatefulSet controller to launch or terminate all Pods in parallel, and to not wait for Pods to become Running and Ready or completely terminated prior to launching or terminating another Pod. This option only affects the behavior for scaling operations. Updates are not affected.

I believe the recommended option is to have it as Parallel, should I change the default option?
Cortex mixin have it as Parallel by default https://github.com/grafana/cortex-jsonnet/blob/c1244964dbbc7901a8ef13327c157d6b1fac7e8d/cortex/tsdb.libsonnet#L126
More info: https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#pod-management-policies Parallel pod management tells the StatefulSet controller to launch or terminate all Pods in parallel, and to not wait for Pods to become Running and Ready or completely terminated prior to launching or terminating another Pod. This option only affects the behavior for scaling operations. Updates are not affected.

I guess we could do that, will probably speed up the scaling significantly. @kd7lxl  Thoughts?

@kd7lxl Thoughts?

From the docs https://cortexmetrics.io/docs/guides/ingesters-scaling-up-and-down/#scaling-down:

If two or more ingesters are scaled down in a short period of time, queriers may miss some data at query time due to series that were stored in the terminated ingesters but their blocks haven’t been discovered yet.
Ingesters should be scaled down one by one

So scale-down can't be parallel.
Do you have a strong use case for Parallel? Given it breaks the read path, I can't see it being useful in production.
If we were going to accept this, it would need a big warning so that people don't accidentally use it outside of very specific testing environments.

@kd7lxl Thoughts?

From the docs https://cortexmetrics.io/docs/guides/ingesters-scaling-up-and-down/#scaling-down:

If two or more ingesters are scaled down in a short period of time, queriers may miss some data at query time due to series that were stored in the terminated ingesters but their blocks haven’t been discovered yet.
Ingesters should be scaled down one by one

So scale-down can't be parallel.
Do you have a strong use case for Parallel? Given it breaks the read path, I can't see it being useful in production.
If we were going to accept this, it would need a big warning so that people don't accidentally use it outside of very specific testing environments.

fine with me.

Do you have a strong use case for Parallel? Given it breaks the read path, I can't see it being useful in production.
Grafana is using this for more than a year
https://github.com/grafana/cortex-jsonnet/pull/143

Scaling down the ingesters is already a sensitive operation that needs to be done manually (AFAIK you can't just decrease the number os replicas, as stated on the link you sent)
Anyway, thats why I left the default value as is, but I would like the option to change it
Loki also have it enabled by default:
Mixin: https://github.com/grafana/loki/blob/main/production/ksonnet/loki/ingester.libsonnet#L62
Helm: https://github.com/grafana/helm-charts/blob/main/charts/loki-distributed/templates/ingester/statefulset-ingester.yaml#L10
PR: https://github.com/grafana/helm-charts/pull/448

Scaling down the ingesters is already a sensitive operation that needs to be done manually (AFAIK you can't just decrease the number os replicas, as stated on the link you sent)

This chart does support scale-down and implements the strategy required by the docs:
https://github.com/cortexproject/cortex-helm-chart/blob/7b913471487ecbe32f5825a00b92ac76785e58b4/values.yaml#L566-L572
Please document the podManagementPolicy value with the # -- style to include an appropriate warning.

done


Please make BufferedReadStream public

From @Tornhoof on Thursday, August 31, 2017 11:50:58 PM
Hi,
I'm currently building a Batch Handler (see https://github.com/aspnet/BasicMiddleware/issues/246) and I need to parse Headers and the Request line from a Multipart request, the parsing itself is basically just copy/paste of the existing Multipart parser part (it already has header support, I just need to add Request Line support, which is trivial). To properly do that I need to (efficiently) read lines from the request. The class ''BufferedReadStream'' in https://github.com/aspnet/HttpAbstractions/blob/master/src/Microsoft.AspNetCore.WebUtilities/BufferedReadStream.cs solves that. It would be great if you could make the class public so I don't need copy it.
Copied from original issue: aspnet/HttpAbstractions#932

@tratcher Do you accept a pull request for that? Is anything more required than just changing the source from internal to public? Changes to docs?
(I stumbled across this bug again, because there are bugfixes in the above stream since the last time I copied the source around).

Yes it would need doc comments. Otherwise making it public would be harmless, go ahead and prep a PR.

Added pull request https://github.com/aspnet/HttpAbstractions/pull/1011 to make it public and add doc comments.


New broker boxes are not auto added to existed tenant to serve tables.

I assign 4 boxes as broker(defaultTenant), then add a table.
Then  I add 4 more boxes to the same tenants.
Since the new 4 boxes are added as the same tenant name with old 4 boxes, so I assume new brokers should be added to the brokerResources idealstates, but they are not.

If we create broker resource in Auto mode, we can probably rely on Helix to
achieve this functionality.
On Wed, Jan 27, 2016 at 11:04 AM, Xiang Fu<EMAIL_ADDRESS>wrote:

I assign 4 boxes as broker(defaultTenant), then add a table.
Then I add 4 more boxes to the same tenants.
Since the new 4 boxes are added as the same tenant name with old 4 boxes,
so I assume new brokers should be added to the brokerResources idealstates,
but they are not.
—
Reply to this email directly or view it on GitHub
https://github.com/linkedin/pinot/issues/82.

For now we have one brokerResource in IdealStates, if we want to use full-auto, then we may need to create idealStates per brokerTenants I think.


Support Sqlite

Describe the feature
Please support also Sqlite. There is standard extension to support JSON.
Motivation
We use Sqlite for unit tests, so it would be great if this could work there as well.

Awesome. Thanks.

Hi, I use sqlite error.no such function: JSON_EXTRACT  is this supportd?


Application not found

I am not able to open an application with Appopener.
It is showing Fritzing(application) not found.
It is also not showing up when i list all the application.
I am facing this issue in windows 11 but it is working properly in windows 10.
screenshots 👇👇👇👇👇

Got it fixed when I deleted the data folder in library file of Appdata and reinstalled the library.


[Project Submission] Heavenly Jungle NFT

Thanks Dietrich,
I've add a license file.
https://github.com/Mol-LeArt/Heavenly-Jungle/blob/main/LICENSE
On Mon, 26 Apr 2021 at 04:58, Dietrich Ayala @.***>
wrote:

@.**** requested changes on this pull request.
Your project source code must be licensed MIT in order to qualify for the
grant program.
In projects/Heavenly Jungle NFT
https://github.com/ipfs/community/pull/516#discussion_r619860234:

+## Project Status
+Early Development
+
+## Previews
+
+
+## Target Audience
+Art Communities, Individual Artists
+
+## Rough estimated user base (if applicable)
+
+
+## Github repo
+
+https://github.com/Mol-LeArt/Heavenly-Jungle
Source code repo is missing license file
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ipfs/community/pull/516#pullrequestreview-644170912,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQRBBSNIYAKLCRXSA4EOCULTKRQ5PANCNFSM43PVJA6A
.

No problem I have done.
On Tue, 27 Apr 2021 at 07:42, Dietrich Ayala @.***>
wrote:

@.**** requested changes on this pull request.
Can you change the filename to have .md extension?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ipfs/community/pull/516#pullrequestreview-645140738,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQRBBSKYWUMYYUWMLXWODCTTKXM5LANCNFSM43PVJA6A
.


Enable username&password passed in URL

Please review the release process for BrowserServicesKit here.
Required:
Task/Issue URL: https://app.asana.com/0/414235014887631/1204080079383830/f
Tech Design URL: https://app.asana.com/0/481882893211075/1204065038916791/f
Security Triage URL: https://app.asana.com/0/1199892415909552/1204067721102886/f
iOS PR:  https://github.com/duckduckgo/iOS/pull/1521
macOS PR: https://github.com/duckduckgo/macos-browser/pull/1006
What kind of version bump will this require?: Minor
Description:

Removed URL.isValid check returning false for URLs containing credentials
Fixed parsing punycoded URLs with credentials and mailto: URLs

Steps to test this PR:

Validate platform PRs

OS Testing:

[ ] iOS
[ ] macOS

Internal references:
Software Engineering Expectations
Technical Design Template

the flaky unit tests are fixed in https://github.com/duckduckgo/BrowserServicesKit/pull/240


Extend actor rollover tests

After #1014, we have rollover actor tests which verify that the projection::CfdState changes as expected throughout the rollover protocol.
We would like to also assert that:

Accepting and succeeding in rolling over results in a new Dlc and oracle_event_id.
Rejecting the rollover keeps the CFD the same.

Originally posted by @klochowicz in https://github.com/itchysats/itchysats/pull/1014#discussion_r779338129

@da-kami has your recent additions selved this issue?


Using the api , the videos needs to be fetched with the images #3 Resolved

Hi, hopefully you don't mind me continuing to help contribute to your project, it's fun!
I went ahead and added the function using similar functions of what you used to render the images and I checked the pexels api to get the popular videos to render.
I created a variable to easily update the itemsPerPage for global access instead of changing each one per line of code, due to also now showing videos with images to even out the amount.
What could be worked on now is to add maybe randomizing functionality so it's mixed with photo and video instead of 10 images/10 videos. Also the "Load More" would need to render both additional images and videos too. Another issue would be to add features with the search returning the videos too.
I did find a bug also where if you search nothing in the search bar, it still loads and renders a random image, maybe an error message should pop up and prevent this?
I'm just mentioning things, I'm not sure if you'd be ok with me creating issues in your project, but let me know! I'm willing to continue to contribute!!
Thank you! 😊

I will be more than happy. if you would contribute to this project. I am learning a lot from you and thank you for your time and collaboration

I was thinking of adding functionality for both videos and photos. Making them spread I make more sense

That sounds like a great idea, what do you have in mind?

I was thinking of adding functionality for both videos and photos. Making them spread I make more sense

That sounds like a great idea, what do you have in mind?

Like making two search bar for videos and image , what you say

I was thinking of adding functionality for both videos and photos. Making them spread I make more sense

That sounds like a great idea, what do you have in mind?

Like making two search bar for videos and image , what you say

Not a bad idea, but it might end up looking a bit messy. What if you added a Dropdown menu so the person can choose what they're specifically looking for and it'll render data on their choice?

I was thinking of adding functionality for both videos and photos. Making them spread I make more sense

That sounds like a great idea, what do you have in mind?

Like making two search bar for videos and image , what you say

Not a bad idea, but it might end up looking a bit messy. What if you added a Dropdown menu so the person can choose what they're specifically looking for and it'll render data on their choice?

great idea, that will be just perfect

I was thinking of adding functionality for both videos and photos. Making them spread I make more sense

That sounds like a great idea, what do you have in mind?

Like making two search bar for videos and image , what you say

Not a bad idea, but it might end up looking a bit messy. What if you added a Dropdown menu so the person can choose what they're specifically looking for and it'll render data on their choice?

great idea, that will be just perfect

awesome, want to create this in the issues tab so we can start working on it?
One of us can work on the design aspect, creating the dropdown menu and adding it with the search bar and submit button
The other can do the programming of it

Feel free to choose which you'd like first and assign me the opposite! 😄

I was thinking of adding functionality for both videos and photos. Making them spread I make more sense

That sounds like a great idea, what do you have in mind?

Like making two search bar for videos and image , what you say

Not a bad idea, but it might end up looking a bit messy. What if you added a Dropdown menu so the person can choose what they're specifically looking for and it'll render data on their choice?

great idea, that will be just perfect

awesome, want to create this in the issues tab so we can start working on it?
One of us can work on the design aspect, creating the dropdown menu and adding it with the search bar and submit button
The other can do the programming of it

I can go with designing, if you like

I was thinking of adding functionality for both videos and photos. Making them spread I make more sense

That sounds like a great idea, what do you have in mind?

Like making two search bar for videos and image , what you say

Not a bad idea, but it might end up looking a bit messy. What if you added a Dropdown menu so the person can choose what they're specifically looking for and it'll render data on their choice?

great idea, that will be just perfect

awesome, want to create this in the issues tab so we can start working on it?
One of us can work on the design aspect, creating the dropdown menu and adding it with the search bar and submit button
The other can do the programming of it

I can go with designing, if you like

Awesome, go for it! Once you're done, I can work on the code to have it function properly 🫡👌

I was thinking of adding functionality for both videos and photos. Making them spread I make more sense

That sounds like a great idea, what do you have in mind?

Like making two search bar for videos and image , what you say

Not a bad idea, but it might end up looking a bit messy. What if you added a Dropdown menu so the person can choose what they're specifically looking for and it'll render data on their choice?

great idea, that will be just perfect

awesome, want to create this in the issues tab so we can start working on it?
One of us can work on the design aspect, creating the dropdown menu and adding it with the search bar and submit button
The other can do the programming of it

I can go with designing, if you like

Awesome, go for it! Once you're done, I can work on the code to have it function properly 🫡👌

Sure!!


New features

Hello
First of all thanks for your amazing work !!
Here are some features that could be really amazing

Composition / Pipeline like in Dramatiq, or may be add a way to send a task B within a task A
Handle sigterm signal and do a warm shutdown eg stop listening for more jobs and wait for active job to finish
Add priority to message handling
Is there a way to do some unit testing with mocking or a stub (eg without running a Redis for example)

Few questions btw, does a worker run in a dedicated thread ?
Is it possible to run multiple instance of worker app ?

Hello
So, some of the issues you have raised will be covered in version 0.4 (#12)  specifically pipe-lining and shutting down.
On priority handling, It is currently not a major priority, as one can achieve this by running multiple workers or other workarounds.
On the issue of testing, there will be improvements in v0.4, but we may also add MockStorage.
On the other questions:

does a worker run in a dedicated thread ? No, workers are run on a tokio thread pool
Is it possible to run multiple instance of worker app ? Yes, depending on what you are asking, eg register_with_count for multiple workers, run multiple process (apart from cron), or run multiple machines(apart from sqlite & cron)

Hi
Thats really cool for pipe-lining, shutting down and mocking !! For priority I understand there is plenty of ways to do it, with multiple worker for instance !

Ok, As long as we can limite the number of concurrent worker that's fine !! I tried and it works fine !!
I did a simple test with  1 client + 2 application worker (eg simulate scaling in kubernetes) and It works like a charm !!

Thanks a lot !!

Hello @geofmureithi  Idk if you saw my last edit about a potential bug when Redis restart while worker is already connected :)

Hey, can you create an issue with the steps to replicate this?

Hey @AzHicham Does #54 Fix your issues?

Sorry for the late reply
I'll try this asap :)


A GestureDetector's onTap doesn't trigger if parent of LongPressDraggable.

It does work if the GestureDetector is a child of the LongPressDraggable.

Odd.

Still seems to happen.

The tap recognizer just looks busted.

Actually, just a subtle bug in DelayedMultiDragGestureRecognizer


Add the AgID logo

The footer should be the same as in the https://developers.italia.it/ website.

Fixed in https://github.com/italia/developers-italia-onboarding/blob/c8da62d2698dc56141e7a19848fbbf3a24f3ee65/public/assets/js/main.js#L7. Closing.


The package '@dongminyu/react-native-step-counter' doesn't seem to be linked

React Native Step Counter New Issue
Expected Behavior

i am trying to build with this library.
newArchEnabled = true it work normally
i already tried the solution from PR#29, but without success

Actual Behavior

I am getting the following error:

The package '@dongminyu/react-native-step-counter' doesn't seem to be linked. Make sure:

- You have the Android development environment set up: `https://reactnative.dev/docs/environment-setup.`
- Use the "npx react-native clean" command to clean up the module\'s cache and select the "watchman", "yarn", "metro", "android", "npm" options with comma-separated. Re-Install packages and re-build the app again .
- You rebuilt the app after installing the package
- You are not using Expo Go

If none of these fix the issue, please open an issue on the Github repository: https://github.com/AndrewDongminYoo/react-native-step-counter

Steps to Reproduce the Problem

yarn create react-native-app my-app
yarn add @dongminyu/react-native-step-counter
go to<EMAIL_ADDRESS>and change all compileOptions from version 1_8 to 11
in the same file, remove the toolchain, as described in this PR
setup the package at any screen
npx react-native run-android
access the screen and get the error

Specifications

@dongminyu/react-native-step-counter version: ^0.2.1

INFO OUTPUT

System:
  OS: macOS 13.4.1
  CPU: (8) arm64 Apple M1
  Memory: 97.28 MB / 16.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 16.17.1
    path: ~/.nvm/versions/node/v16.17.1/bin/node
  Yarn:
    version: 1.22.19
    path: ~/bemobile/mobile/fique-bem/apps/mobile/node_modules/.bin/yarn
  npm:
    version: 8.15.0
    path: ~/.nvm/versions/node/v16.17.1/bin/npm
  Watchman:
    version: 2<IP_ADDRESS>
    path: /opt/homebrew/bin/watchman
Managers:
  CocoaPods:
    version: 1.11.3
    path: /usr/local/bin/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 22.4
      - iOS 16.4
      - macOS 13.3
      - tvOS 16.4
      - watchOS 9.4
  Android SDK:
    API Levels:
      - "28"
      - "29"
      - "30"
      - "31"
      - "32"
      - "33"
    Build Tools:
      - 28.0.3
      - 30.0.3
      - 31.0.0
      - 33.0.0
    System Images:
      - android-30 | Google Play ARM 64 v8a
      - android-33 | Google APIs ARM 64 v8a
    Android NDK: Not Found
IDEs:
  Android Studio: 2021.3 AI-213.7172.25.2113.9014738
  Xcode:
    version: 14.3/14E222b
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 11.0.16
    path: /usr/bin/javac
  Ruby:
    version: 2.6.10
    path: /usr/bin/ruby
npmPackages:
  "@react-native-community/cli": Not Found
  react:
    installed: 18.2.0
    wanted: 18.2.0
  react-native:
    installed: 0.72.4
    wanted: 0.72.4
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: false
iOS:
  hermesEnabled: true
  newArchEnabled: false

Can't you still connect to the library after this package update? To check the problem, can you clone and run the code from AndrewDongminYoo/walking_tracker, the standalone sample app for this library? As far as I ran, the app was able to run without the “new_architecture” environment variable.

@AndrewDongminYoo
I am sorry, i forgot to close this issue after you merged my pull request


Added create task for creating database

@timriley I was playing around with the new file structure and I thought this task might come in handy
What do you think?

@timriley I update the code to supportusername and password as well for drop the DB.
I was thinking extracting the logic into a separate class, maybe in dry-web but since the CLI will probably change in the near future I wanted to know your opinion. 💎

IIRC hanami-model has CLI for this, we could just adopt it in rom-sql

Any update on this one @timriley @solnic?

@GustavoCaso Thanks for your work on this! I've just tidied things up a little more (e.g. I discovered a way to pass more of the postgres connection info via env vars, which lets us handle this consistently across all postgres commands). I'll pull it in now and get it out in a release today.


Remove: kingsoft.kdocs version 2.10.0

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.0 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

https://github.com/microsoft/winget-pkgs/pull/26121
Microsoft Reviewers: Open in CodeFlow

In this version, the installer has changed from nullsoft installer to self-made installer.
I cannot perform a silent installation in this version even using the original manifest, and it was fixed in the next version. I have no idea why this manifest could pass the validation.


openjdk8_hs_external_sanity_payara-mp-tck_x86-64_linux failing

External test openjdk8_hs_external_sanity_payara-mp-tck_x86-64_linux is failing with:
05:31:27  [ERROR] Failed to execute goal on project tck-runner: Could not resolve dependencies for project fish.payara.microprofile.rest-client:tck-runner:jar:1.0: Failed to collect dependencies at org.glassfish.jersey.ext:mp-rest-client:jar:2.29.payara-p1-SNAPSHOT: Failed to read artifact descriptor for org.glassfish.jersey.ext:mp-rest-client:jar:2.29.payara-p1-SNAPSHOT: Could not transfer artifact org.glassfish.jersey.ext:mp-rest-client:pom:2.29.payara-p1-SNAPSHOT from/to payara-staging (https://nexus.payara.fish/content/repositories/payara-staging/): Not authorized , ReasonPhrase:Unauthorized. -> [Help 1]

e.g. https://ci.adoptopenjdk.net/job/openjdk8_hs_external_sanity_payara-mp-tck_x86-64_linux/73/console.
According to Jenkins the test last ran successfully on 26th Apr 2019: https://ci.adoptopenjdk.net/job/openjdk8_hs_external_sanity_payara-mp-tck_x86-64_linux/.
There have been changes between the two runs - for instance I notice that in the failing job, the 'Build' step ends with
04:53:00  dist:
04:53:00       [copy] Copying 3 files to /home/jenkins/workspace/openjdk8_hs_external_sanity_payara-mp-tck_x86-64_linux/jvmtest/external

whereas in the passing job, the 'Build' step ends with
04:59:14  dist:
04:59:14       [copy] Copying 3 files to /home/jenkins/workspace/openjdk8_hs_external_sanity_payara-mp-tck_x86-64_linux/jvmtest/thirdparty_containers/payara-mp-tck

The openj9 builds also fail in the same way.

The change is caused by renaming thirdparty_containers to external. https://github.com/AdoptOpenJDK/openjdk-tests/pull/1164 will also copy each test set to its own folders to make it more clear, which won't fix the test errors.

I've rerun the test locally with the same build as the last time the test passed (https://ci.adoptopenjdk.net/job/openjdk8_j9_external_sanity_payara-mp-tck_x86-64_linux/29/console) and it also failed with the same error as that reported in the issue description.

If the test is run via
make _payara_microprofile_tck_0

The the docker container running the test is deleted at the end of the run:
[ERROR] Failed to execute goal on project tck-runner: Could not resolve dependencies for project fish.payara.microprofile.rest-client:tck-runner:jar:1.0: Failed to collect dependencies at org.glassfish.jersey.ext:mp-rest-client:jar:2.29.payara-p1-SNAPSHOT: Failed to read artifact descriptor for org.glassfish.jersey.ext:mp-rest-client:jar:2.29.payara-p1-SNAPSHOT: Could not transfer artifact org.glassfish.jersey.ext:mp-rest-client:pom:2.29.payara-p1-SNAPSHOT from/to payara-staging (https://nexus.payara.fish/content/repositories/payara-staging/): Not authorized , ReasonPhrase:Unauthorized. -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/DependencyResolutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <goals> -rf fish.payara.microprofile.rest-client:tck-runner

payara_microprofile_tck_0_FAILED

Error: No such container:path: payara-mp-tck:/testResults/junitreports
payara-mp-tck
Untagged: adoptopenjdk-payara-mp-tck:latest
Deleted: sha256:0513dcf672af2fd6fb82a760f8402a4b513e8f610a8c3211adf7d46d923770bc
Deleted: sha256:9a51da35419377a33a9223b0d10c94ded2d461665ca4f95b7ec025fab1bccdab
Deleted: sha256:757e2da8599e3b7b8f799ad989e032a533b67e8aa0c406bb03562c8f09dabe62
Deleted: sha256:c168df095149ef43ef70afa2a9f4d89f5fa39d8208fb7ccd8bdcbea28f3bfd5c
Deleted: sha256:267ca585110f8802c7d4378e5a67e0744ed2c4c94139fa6f9208b39cf7f195a9
Deleted: sha256:851d5578025a1ec4135183a083674d650f56f4f285190894006935679520771a
Deleted: sha256:5a6ee8c328e769540dc2b0c34c60708da401eb1d9d236964747a34272e275f7d
Deleted: sha256:ef02b998525b478dcae44cf8946c2259c7ade8ac7b665facb3c3e3a06386f529
Deleted: sha256:281a28fa330ff638c024f0f1986513f85c5117c2cb47a2387110a6246dadd8ab
Deleted: sha256:6e45e825b78967891ed76f99dcd4f85a59301b9e26a67928a3369a77a562c8ad
Deleted: sha256:dda16f85db5b5139e6eaec5d8b19000f17c013d42dbd66c51b8c62692274175a
Deleted: sha256:34b64aa4cdc9a3e0bd46c430e1152936da78e49243c9418761eb5b1065fd2352
Deleted: sha256:72761e4a32e694622f50fd1fa067283382209e4a0e10a2f10edcadfc4fde26ab
Deleted: sha256:2c1420378d4e425af14a1eb1b05443585479089552eba2a55140bc20e38e3560
Deleted: sha256:d0d178916b1e72519b16d7487f5c1a217e32816bdb8ecf590fc370781c23d029
Deleted: sha256:dd71046274ea0591f3e91360c8329f5ddb5039b1d3c0dc66542df790bbb4a538
"/tmp/jdk8u/download/openjdkbinary/j2sdk-image/jre/bin/java" -Xshareclasses:destroyAll; "/tmp/jdk8u/download/openjdkbinary/j2sdk-image/jre/bin/java" -Xshareclasses:groupAccess,destroyAll; echo "cache cleanup done";
JVMSHRC005I No shared class caches available
JVMSHRC005I No shared class caches available
cache cleanup done
payara_microprofile_tck_0 Finish Time: Thu Jun  6 15:46:54 2019 Epoch Time (ms):<PHONE_NUMBER>452
make[3]: Leaving directory '/disk2/git/openjdk-tests/external/payara-mp-tck'
make[2]: Leaving directory '/disk2/git/openjdk-tests/external'
make[1]: Leaving directory '/disk2/git/openjdk-tests'

@sophia-guo - is there some way to tell the test to keep the containers?  Alternatively are there any instructions of how to run the tests outside docker?

@lumpfish if you are running it locally you can simply edit texternal/payara-mp-tck/playlist.xml to remove the line
		 docker rm -f payara-mp-tck; \
			 docker rmi -f adoptopenjdk-payara-mp-tck

To run it outside docker you will need:

export JAVA_HOME
git clone https://github.com/payara/MicroProfile-TCK-Runners
cd MicroProfile-TCK-Runners
mvn clean verify -Dpayara.version=5.184 -pl !MicroProfile-OpenTracing/tck-runner,!MicroProfile-JWT-Auth,!MicroProfile-JWT-Auth/tck-arquillian-extension,!MicroProfile-JWT-Auth/tck-runner

Reproduced the error outside of docker as follows:

export JAVA_HOME
Add JAVA_HOME/bin to PATH
git clone https://github.com/payara/MicroProfile-TCK-Runners
cd MicroProfile-TCK-Runners
mvn clean verify -Dpayara.version=5.184 -f MicroProfile-Rest-Client/tck-runner

This page was also helpful: https://github.com/payara/MicroProfile-TCK-Runners/blob/master/README.md
The error reported is
[ERROR] Failed to execute goal on project tck-runner: Could not resolve dependencies for project fish.payara.microprofile.rest-client:tck-runner:jar:1.0: Failed to collect dependencies at org.glassfish.jersey.ext:mp-rest-client:jar:2.29.payara-p1-SNAPSHOT: Failed to read artifact descriptor for org.glassfish.jersey.ext:mp-rest-client:jar:2.29.payara-p1-SNAPSHOT: Could not transfer artifact org.glassfish.jersey.ext:mp-rest-client:pom:2.29.payara-p1-SNAPSHOT from/to payara-staging (https://nexus.payara.fish/content/repositories/payara-staging/): Not authorized , ReasonPhrase:Unauthorized.

The error occurs both with the latest openjdk nightly builds and with jdk8u212-b03 which would be very close to the level at which we know the tests previously passed.  I am assuming at this point that the error does not lie in the jdk.

Raised https://github.com/payara/MicroProfile-TCK-Runners/issues/42 to see if the payara community can see where the problem lies.

Wonderful, thanks @lumpfish !

closing this as we will track all type:external Reported upstream issues via https://github.com/AdoptOpenJDK/openjdk-tests/issues/587


OLS-889 konflux: hermetic build activate on bundle and operator

Description
Turn on hermetic build on bundle and operator components.
Type of change

[ ] Refactor
[ ] New feature
[ ] Bug fix
[ ] CVE fix
[ ] Optimization
[ ] Documentation Update
[x] Configuration Update
[ ] Bump-up dependent library

Related Tickets & Documents

Related Issue # OLS-889
Closes #

Checklist before requesting a review

[ ] I have performed a self-review of my code.
[ ] PR has passed all pre-merge test jobs.
[ ] If it is a core feature, I have added thorough tests.

Testing

Please provide detailed steps to perform tests related to this code change.
How were the fix/results from this change verified? Please provide relevant screenshots or results.

/lgtm
/approve

/override "Red Hat Konflux / ols-enterprise-contract / bundle"
/override "Red Hat Konflux / ols-enterprise-contract / lightspeed-operator"


RPC errors crash the UI

Describe the bug
Unhandled RPC errors crash the UI
To Reproduce
Steps to reproduce the behavior:

Go to staking page
Add an amount greater than your balance to the staking amount field
Wait for UI to crash

Expected behavior
We should handled RPC errors more gracefully, but this is a long-standing issue. The staking UI is an obvious example, but the error itself is thrown in the generic fetcher and will happen any time we receive an RPC error.
This is a long-standing issue, and should be handled across the application. Most RPC errors are handled in the lib, so users won't see them very often. We should fix this, but by improving error handling across the site.

@danielsimao can you take a look at this, and confirm whether any pages other than staking have unhandled RPC errors? Once we know that, we can decide whether we need to handle this as a separate task, or whether it can wait until the staking page is refactored (in which case the problem goes away).


log.debug() missing runtime file

Hello, when you do  log.info() inside Logtail you can see which file made the call via context.runtime.file. But when you do log.debug() the file is replaced with<EMAIL_ADDRESS>Notice how the debug statement is missing the file, whereas the info includes it.

Hi @oskarrough,
Thanks for noticing and reporting this. Sorry for the delay.
I have found the cause and fixed it in https://github.com/logtail/logtail-js/commit/45e3978cdd5636c5b97d7e4cac225be157f960f3.
I will release a new version of the @logtail/node package soon.

Thanks!


add an example for r2dbc connection URL

it was really difficult to figure out proper H2 r2dbc URL for a "file" database.
Eventually it worked as follows:
r2dbc:h2:file://././build/h2db/db/dbname;DB_CLOSE_DELAY=-1;USER=username
can we add a section on this, because I could not find this information anywhere and had to debug ConnectionFactoryProvider

Sorry that you had a hard time figuring out how to construct the URL. Do you want to submit a pull request that explains H2 specifics when constructing an URL?

Hi Mark, thanks for this suggestion; I would gladly take this assignment however there're too many unknowns for me unfortunately. I am not even certain where to begin with that. For example, "r2dbc" URL parser seems to really demand a "schema", whereas in the H2 official URL (those are for jdbc, though) "schema" is mostly missing: http://www.h2database.com/html/features.html#database_url
also, I can't understand why first thing after schema is parsed as a "host", even though there's a "file" in it. If only I knew where to find the proper spec for an R2DBC H2 URL...

R2DBC H2 is basically a wrapper for H2 that attempts to bridge what H2 provides into the R2DBC world. The H2 documentation is really only a first starting point but it cannot cover how R2DBC URL's get built.
You might be interested in the general URL scheme: https://r2dbc.io/spec/0.8.1.RELEASE/spec/html/#overview.connection.url
Basically, URL's can contain the host part ("authority") (r2dbc:h2:tcp://remote-host/database) or they can be built without (r2dbc:h2:file:///absolute/file/path) depending on what you're trying to express. Getting feedback on the documentation and the idea how you approach configuration helps us to learn which aspects we can improve.

file: in H2 is also optional and assumed by default, jdbc:h2:/path/to/database is a perfectly valid JDBC URL. It actually means the I/O method; there are others, such as async: and nioMapped:.

thanks, Mark! so basically my problem was that I was trying to refer to "relative" file path, and a leading "." was parsed as a "host", which lead to problems later.
So I had to begin the path with that "././" thing. It might even be a defect, not just a documentation missing.. I am not sure


Rework orders

waiting: #249
Changes

added pagination to orders
added filtering to orders

only client side
there is no suitable attribute for orders async filtering

removed steps from order header
lazy loading approval requests on order expand

Issues
There is currently a problem with performance.
In order to get all necessary data for order headers in page we need to create 4 sequential queries which slows the whole process.
In order to render one non expanded order row you need to:

first query orders endpoint,
based on the order ids it returns you need to query orderItems,
in order to get the order name you need to query portfolio items based on the orderItem ids,
to get the icon you need sources

I think we should consider creating some aggregated endpoint for the orders.

@lgalis yeah the whole filtering is just a placeholder. Orders do not have a name now so its kind of weird right now.
I will fix the wrong redirect thanks for that.


Allow usage of ephemeral branches for transactions

What is the motivation and/or use case?
The current implementation of transactions provides a somewhat lackluster guarantee of atomicity: while it guards against exceptions that arise from the suite of the transaction, it does not provide the same for errors that arise from the versioning operations themselves when exiting the context manager. This can lead to partial results already visible in the repository, with no way to roll them back easily (even manually, since, e.g., commits cannot simply be discarded but rather must be reverted in a new commit).
Instead, we should make it easier to follow versioning best practices by providing an easy way to perform the versioning operations in a transaction on an ephemeral branch (which is automatically merged upon successful completion of the transaction).
How can we implement this feature?
I already built a hacky prototype a while ago that adds a bit of state to the transaction:

the repository name
the base branch (i.e., the target of the merge)
the ephemeral branch (automatically generated name to prevent clashes - see the high-level SDK, which could also simplify the implementation)
whether to automatically merge the ephemeral branch

Since the fsspec architecture does not allow us to pass constructor args to the transaction, instead I turned the transaction into a callable so it can be parametrized when creating the context manager:
with fs.transaction(repo="...", base_branch="main", automerge=True) as tx:
  # ... any versioning ops ...
  tx.commit(tx.repo, tx.branch, "did something")

Internally, the implementation reuses the versioning ops queue by pretending the creation of the ephemeral branch as the first operation in __enter__ and appending the merge to the base branch in __exit__.
Client API considerations
The above design would be fully backward compatible: usage of the ephemeral branches is fully optional, and existing code would not change its behavior.
On the other hand, it can be quite verbose when client code has multiple transactions, since the same options (repo, base branch, ...) need to be passed everywhere. Instead, these could also be turned into constructor arguments on the filesystem itself (and in fact, there already is source_branch, which is currently used for the create_branch_ok functionality, but semantically also fits the merge target for the ephemeral branches).
Having the state stored (in either the transaction or the FS instance) would allow us to simplify the tx versioning ops by making the repo and branch arguments optional. When they are not passed, the operations would simply default to the active branch in the transaction:
with fs.transaction(repo="...", base_branch="main") as tx:
  # ... other versioning ops ...
  tx.commit(message="did something")  # no repo/branch necessary, defaults to the ephemeral branch

To be even more concise, however, with some potential for ambiguity, the fs operations that work on rpaths could be modified to accept relative rpaths: basically the same as an ordinary rpath, but without the need to pass the {repo}/{branch}/ prefix. This would constitute a deviation from the current correspondence between rpaths and lakeFS URIs (with or without the scheme) and would create an ambiguity: it would be impossible to distinguish the (absolute) rpath data/main/1.txt (in a repo data with a branch main) from a relative rpath with the same name, but referring to a file data/main/1.txt in the current repo and branch.

This ticket fixes #253.


Add input artifact name to inputs

The input artifact name is part of the produced artifact id, so it always is an input to the transform. This should fix things like https://issuetracker.google.com/205968564. It does not fix https://github.com/gradle/gradle/issues/17213, that seems to be a different problem.
Fixes #19408

@bot-gradle test and merge

OK, I've already triggered a build for you.


columns in obs.tsv: good_score_mask, tcr_clumping_pvalues, test

Hi there,
Can you clarify what these columns in the result *obs.tsv mean: good_score_mask, tcr_clumping_pvalues, test? Below is an excerpt of my obs.tsv file. Thanks!
	va	ja	cdr3a	cdr3a_nucseq	vb	jb	cdr3b	cdr3b_nucseq	n_genes	percent_mito	n_counts	clone_sizes	gex_variation	louvain_gex	clusters_gex	louvain_tcr	clusters_tcr	nndists_gex	nndists_tcr	is_invariant	test	tcr_clumping_pvalues	conga_scores	good_score_mask	genex_clusters
GCTGCGAAGAAGAAGC-5	TRAV1*01	TRAJ17*01	CAVREDSAGNKLTF	tgtgctgtgagggaagacagtgcagggaacaagctaactttt	TRBV17*01	TRBJ1-1*01	CASSSGTEVFF	tgtgctagcagtagcgggacagaagtcttcttt	2239	0.018585505	8017.0	4	13.633640174552784	0	0	0	0	13.410091180067798	0.567562858634753	False	none	2600.0<PHONE_NUMBER>6858285	False	0
AATCGGTCAATTGCTG-5	TRAV1*01	TRAJ17*01	CAVRTNSAGNKLTF	tgtgctgtgaggactaacagtgcagggaacaagctaactttt	TRBV10*01	TRBJ2-3*01	CASSPGGASAETLYF	tgtgccagcagccctgggggggcgagtgcagaaacgctgtatttt	1715	0.004017467	5725.0	2	14.277908034334514	2	2	12	12	11.087446585000412	0.613808748480102	False	none	2600.0<PHONE_NUMBER>646976	False	2

Hi Mark thanks for the question. We are working on building out a minimal set of documentation of the outputs (tables and plots) in time for the manuscript publication. Should be done in the next couple weeks. I'm sorry that it's not in place yet!
To your question:
good_score_mask is a boolean array that should be True if conga_score<=1
tcr_clumping_pvalues -- these are the per-clonotype adjusted P-values for the TCR clumping analysis, which looks for TCRs that have more TCR sequence neighbors than you would expect by chance. This TCR clumping analysis does not use the GEX information at all. There should also be some plots (tcr_clumpingpng) which will show the results in a graphical form. Clonotypes with significance clumping P-values are grouped based on TCR similarity and groups of size at least 3 (this can be changed) are shown in *tcr_clumping_logos.png
test -- this is a temporary tag used during the differential expression analysis; it can be safely ignored. I should remove it.
Let me know if that's not clear.

Thank you so much, @phbradley!

There's a bit more info on the README describing the core conga data slots, so I'm closing this issue for now.


Add sync property on command

For commands like rsync or git, it is often best to block on spawnSync until the command has completed. It might even be best to default behavior of a command to block on spawnSync. It would be nice to have a {... sync: false} property be recognized on a command with the default being true.
I tested out commenting out the if(!sync) condition and just always running spawnSync. (I didn't pay much attention to what else is going on in the spawn case). The behavior was that node-watch-changes still queued the changes (which is probably good in most cases), but would block on the first, second, third... command to finish before running again

At the moment all commands are running async except for the ones on end, to ensure proper cleanup. I think a configurable behavoir is a good idea and I will look into it the next days.

I added a global config property named "sync" which will be used if the command itself doesn't have a sync property. Please refer to the readme file for a usage example.


Check and close empty sessions on creation

Closes #14
Previous behaviour:

New behaviour:

I thought about it and suggest to handle the session closing in respective cases.
Benefits:

Testability
Readability
Expandability

Don't get me started how the *function might have looked if it was left joined. I hope this works, feel free to add further suggestions!

Perfect. Thank you for your work!


examples: avoid padding null bytes in command string

Avoid having padding null chars by using u32/uint32 consistently for the
PID and by packing the struct.
Also remove the unnecessary import "C", the example itself is not using
any cgo.
Signed-off-by: Tobias Klauser<EMAIL_ADDRESS>

Thanks @tklauser!


uv sync tries to resolve optional source packages even though environment markers exclude the package from the environment

When running uv sync on a project that contains platform-specific optional dependencies built from source, the sync fails when those dependencies cannot be built for the platform during package resolution. uv sync does not respect the environment marker during package resolution, and since all optional dependencies are included in the resolution, the environment cannot be synced.
Is it possible to exclude certain packages during resolution?
In the below example, flash-attention requires CUDA, which is not available for macOS, but when trying to sync the project, resolution fails because it attempts to build flash-attention first.
mkdir -p test_uv_sync
cd test_uv_sync

## make pyproject.toml
cat <<EOF > pyproject.toml
[project]
name = "test_uv_sync"
version = "0.0.1"

dependencies = [
    "torch>=2.4.0,<2.5.0",
    "torchaudio>=2.4.0,<2.5.0",
    "torchvision>=0.19.0,<0.20.0",
]
readme = "README.md"
requires-python = ">= 3.12"

[project.optional-dependencies]
flash = [
    "flash-attn @ git+https://github.com/Dao-AILab/flash-attention ; platform_system == 'Darwin'"
]
EOF

## try to sync project
uv sync --python 3.12

Here's a better repro:
mkdir -p test_uv_sync
cd test_uv_sync

## make pyproject.toml
cat <<EOF > pyproject.toml
[project]
name = "test_uv_sync"
version = "0.0.1"

dependencies = [
    "rich",
]
requires-python = ">= 3.8"

[project.optional-dependencies]
black = [
    "black @ git+https://github.com/psf/black  ; python_version > '3.8'",
]
EOF

## try to sync project
uv sync --python 3.8

For details, see

https://docs.astral.sh/uv/concepts/resolution/#universal-resolution
https://docs.astral.sh/uv/concepts/projects/#limited-resolution-environments

To add more specific context: uv tries to avoid building during resolution, especially for non-native packages. For git repositories, uv reads static pyproject.toml files, so if flash attention would provide name, version and dependencies statically in pyproject.toml, we could skip building it.
For cases where the other options don't work, we have an escape hatch through https://docs.astral.sh/uv/concepts/resolution/#dependency-metadata where you can set the manually: It's dangerous because if you specify it wrongly, you get a strangely broken venv, but it may allow you to work around the build problem.

Thank you all, this is really helpful. It looks like setting dependency metadata is the solution I'm looking for, and the docs even use flash-attn as an example.
I completely missed that section of the docs when reading, and I think it would be helpful to include a link or note to the dependency metadata section under the https://docs.astral.sh/uv/concepts/projects/#limited-resolution-environments section.

I'm struggling to get the dependency metadata override working when specifying a git source, and it still seems to be trying to build the package. I'm not sure what I'm doing wrong here, if you all are able to give me any insight.
Here are three examples:
In this instance, uv is able to lock and sync the environment, though I was not expecting this:
mkdir -p test_uv_sync
cd test_uv_sync

## make pyproject.toml
cat <<EOF > pyproject.toml
[project]
name = "test_uv_sync"
version = "0.0.1"

dependencies = [
    "rich",
]
requires-python = ">= 3.8"

[project.optional-dependencies]
black = [
    "black ; python_version > '3.8'",
]
EOF

## try to sync project
uv sync --python 3.8

In this instance, uv is not able to lock and sync the environment, as expected:
mkdir -p test_uv_sync
cd test_uv_sync

## make pyproject.toml
cat <<EOF > pyproject.toml
[project]
name = "test_uv_sync"
version = "0.0.1"

dependencies = [
    "rich",
]
requires-python = ">= 3.8"

[project.optional-dependencies]
black = [
    "black ; python_version > '3.8'",
]

[tool.uv.sources]
black = { git = "https://github.com/psf/black" }
EOF

## try to sync project
uv sync --python 3.8

And finally, even though [[tool.uv.dependency-metadata]] is declared, uv still fails to resolve the environment:
mkdir -p test_uv_sync
cd test_uv_sync

## make pyproject.toml
cat <<EOF > pyproject.toml
[project]
name = "test_uv_sync"
version = "0.0.1"

dependencies = [
    "rich",
]
requires-python = ">= 3.8"

[project.optional-dependencies]
black = [
    "black ; python_version > '3.8'",
]

[tool.uv.sources]
black = { git = "https://github.com/psf/black" }

[[tool.uv.dependency-metadata]]
name = "black"
requires-python = ">=3.8"
requires-dist = [
  "click>=8.0.0",
  "mypy_extensions>=0.4.3",
  "packaging>=22.0",
  "pathspec>=0.9.0",
  "platformdirs>=2",
  "tomli>=1.1.0; python_version < '3.11'",
  "typing_extensions>=4.0.1; python_version < '3.11'",
]
EOF

## try to sync project
uv sync --python 3.8

Dependency overrides are not supported for non-registry dependencies right now.

There's an open PR to enable them: https://github.com/astral-sh/uv/pull/7846

Closed by https://github.com/astral-sh/uv/pull/7846. I also added flash-attn (from Git) to that PR's summary as an example.


Resource deleted before finalizer is removed

Describe the bug
I added a finalizer to a DynamoDb table resource definition to prevent accidental deletion of the table. However, the DynamoDB table is deleted before the finalizer is removed. The controller does wait for the finalizer to be removed though.
Steps to reproduce

Create resource with custom finalizer

cat  <<EOF | kubectl apply -f -
apiVersion: dynamodb.services.k8s.aws/v1alpha1
kind: Table
metadata:
  namespace: core
  name: acktable
  finalizers:
    - kubernetes
spec:
  tableName: acktable
  billingMode: PAY_PER_REQUEST
  attributeDefinitions:
    - attributeName: ForumName
      attributeType: S
    - attributeName: Subject
      attributeType: S
  keySchema:
    - attributeName: ForumName
      keyType: HASH
    - attributeName: Subject
      keyType: RANGE
EOF

Delete resource:

kubectl delete table.dynamodb.services.k8s.aws/acktable

Expected outcome
The AWS resource isn't deleted until the finalizer is removed. For example:
kubectl patch table/acktable \
    --type json \
    --patch='[ { "op": "remove", "path": "/metadata/finalizers" } ]'

Environment

Kubernetes version
1.19
Using EKS (yes/no), if so version?
yes : eks.6
AWS service targeted (S3, RDS, etc.)
DynamoDB

From my understanding of the K8s finalizer documentation, this is an expected behaviour. That is, a finalizer is meant to signal to the K8s API that the resource should remain in etcd, and to signal to its respective custom controller that the resource is still being managed.
Each ACK controller only understands its own finalizer, and only knows that if it is present that it needs to delete the AWS resource when a DeletionTimestamp is applied. Any other custom finalizer on an ACK resource is ignore by the ACK controller. Only once all finalizers have been removed does K8s delete the object from etcd. Therefore, creating a finalizer to protect an object from reconciliation against its custom controller is not one of its intended uses.

Thank you @RedbackThomson  for your quick reply and explanation.

@RedbackThomson last question. Is there a means to prevent ACK from deleting the AWS infra when a CR is deleted in k8s?

@acunabit , I guess if you remove all the finalizers from k8s resource and then delete the k8s resource, the deletion will not trigger a controller reconciliation due to lack of finalizer and hence no delete call will be made for AWS resource. But It is definitely NOT a recommended pattern at all.
Please feel free to reopen the issue if you have more queries.

Thank you for your response @vijtrip2 @RedbackThomson.


Installation Instructions Are Not Working

I'm trying to follow the installation instructions, but I keep getting this error:
Could not open library 'libseabolt17.dylib': dlopen(libseabolt17.dylib, 0x0005): tried: 'libseabolt17.dylib' (no such file), '/usr/local/lib/libseabolt17.dylib' (no such file), '/usr/lib/libseabolt17.dylib' (no such file),
I'm guessing this driver is supposed to come with a neo4j installation? I'm running it in a container and maybe the rails app can't see the driver?
Homebrew only has version 5.1 available, so mac users may need to install manually.
This error happens even when trying to bootstrap a new app with
rails new myapp -O -m https://raw.githubusercontent.com/neo4jrb/activegraph/master/docs/activegraph.rb
It also happens when trying to use a rake task to install or setup neo4j.
rake neo4j:install
The example install task provided in the docs results in:
rake neo4j:install[community-4.0.6] => no matches found: neo4j:install[community-4.0.6]
Unrelated, but the official neo4j ruby app template 404s rails new asset_portal -m http://neo4jrb.io/neo4j/neo4j.rb -O
Additional information which could be helpful if relevant to your issue:
Code example (inline, gist, or repo)
Runtime information:
Neo4j database version:
neo4j gem version:
neo4j-core gem version:

I had the same problem using out-dated versions of the activegraph and neo4j-ruby-driver gems. It looks like previous versions required the installation of a Bolt driver that is no longer maintained.
The following is working for me (with Ruby 3.2.1) :
gem 'activegraph', '~> 11.3'
gem 'neo4j-ruby-driver', '~> 4.4.3'

Closing this as older versions are not supported. Newer versions work fine.


Ensure tests are run using Github Actions

Would be nice to integrate with Github Actions to run tests on pull requests and merges to master.
Any volunteers? 😄

I can work on this one

@katlasik Great, let me know if you have any questions!

@jdegoes I created PR.
I run tests on java 8, 11 and 14. Is that ok?
I don't know Scala.js very well, do we also need to run specific tests for it?


Re-enable "Fix concurrency issues with ENR temp tables."

Description
https://github.com/babelfish-for-postgresql/postgresql_modified_for_babelfish/commit/5140f79a8ebbf37e0eea6527532f77cf7fa4d0c7 had a bug which caused a crash when aborting nested transactions with table variables due to missing a case when a lock was being acquired during table creation. Fix that case by adding a proper check for ENR-ness.
Issues Resolved
BABEL-4913, BABEL-4892
Test Scenarios Covered

Use case based -
lock contention testing via a test function in JDBCTempTable.java

Boundary conditions -

Arbitrary inputs -

Negative test cases -

Minor version upgrade tests -

Major version upgrade tests -

Performance tests -

Tooling impact -

Client tests -

Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is under the terms of the Apache 2.0 and PostgreSQL licenses, and grant any person obtaining a copy of the contribution permission to relicense all or a portion of my contribution to the PostgreSQL License solely to contribute all or a portion of my contribution to the PostgreSQL open source project.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>7
Details

8 of 8 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 74.194%

Totals

Change from base Build<PHONE_NUMBER>2:
0.1%

Covered Lines:
44601

Relevant Lines:
60114

💛  - Coveralls


Show BFCache Responses in the Network panel doesn't work

The Show BFCache Responses tab-option in the Network panel doesn't work
Honza

The options doesn't exist in Firebug.theme anymore (might be supported by the platform at some point)
Honza

This option doesn't exist in Firebug theme anymore (but might be supported by the platform at some point)
Honza


Problem with iOS when startup

Describe the bug
Starting up outline client on my iPhone, only white screen and nothing else, like the screenshot below

To Reproduce
Simply startup outline client
Smartphone:

Device: [iPhone6]
OS: [iOS9.2.1(13D15)]
Outline client version [1.2.6]

Really appreciate anyone's kindly help ~

@jackyvictory Thanks for the report.
@alalamav Can you remind what's the earliest supported version of iOS?

@jackyvictory, sorry you're experiencing this issue. Did the iOS client v1.2.5 work for you?
@trevj, our minimum supported version is 9.0.
I was able to reproduce this issue on iOS 9.3.5. Still looking into the cause, but I have two suspicions for the breakage: upgrading to Xcode 10 and the recent changes to the Gulpfile (transpilation). I'll update this thread once I isolate the root cause.

I have confirmed that this is a transpilation issue related to the refactoring/upgrade of the Gulpfile. I checked out master at bfb9647 (right before #513), compiled with Xcode 10, and the UI is rendered.

@alalamav Thanks for tracking down - and apologies for breaking :-/

@jackyvictory Thanks again for the report. I hope this is now working for you.


Don't Reload CityBanner on CQUI_SettingsInitialized

Not sure exactly why but if we don't run Reload on
CQUI_SettingsInitialized for the CityBanner then it seems to work, so I
guess it is run to soon for the objects to be in place or something.
Would be good to test this a bit to make sure that it does not break
anything else instead.
Fixes #201

Sorry for taking so long to respond to this PR. I don't like the idea of working around the issue like this, because CQUI_OnSettingsUpdate should already not be firing until after CQUI_SettingsInitialized is run. The fact that this isn't the case is a major bug that violates the underlying promise having these two separate methods creates. I think the correct course of action is to fix this behavior rather than patching around it

I din't think that is the problem in this case, and not the one I'm trying to fix here.
The problem I saw was that i Reload in CityBanner was called from the CQUI_SettingsInitialized Event then I got lua errors and the same problem described in #201. It seems that CQUI_SettingsInitialized is called before CityBanner is ready to call Reload for whatever reson.
CQUI_OnSettingsUpdate seems to work as it should and need to call Reload to work.

Errr, perhaps I'm missing something here, but what's the point of the new parameter on the CQUI_SettingsInitialized if it's hardcoded to true? Surely the changes you've made here are functionally identical to just removing the Reload method call from the CQUI_SettingsInitialized handler?

That was because CQUI_OnSettingsUpdate() was used as the handler for both CQUI_SettingsInitialized and CQUI_SettingsUpdate, and this was a way to distinguish what event fired.
But after some thing I decided that I din't like this method of doing it and splitt it into two functions, one for each event.

Cool, seems alright after changes so I'll merge this after we put out this weekly


ValueError: matrix contains invalid numeric entries

Hello, @LiWentomng
I tried to reproduce your paper box2mask, but I had the following problems and the model had a very large loss at the beginning of training. How to solve it?
2023-01-07 12:27:40,129 - mmdet - INFO - Iter [50/368750]	lr: 5.000e-06, eta: 3 days, 14:44:25, time: 0.847, data_time: 0.050, memory: 6779, loss_cls: 9.3236, loss_project: 6.2381, loss_levelset: 0.0710, d0.loss_cls: 9.0557, d0.loss_project: 5.5436, d0.loss_levelset: 0.0670, d1.loss_cls: 9.3925, d1.loss_project: 5.5199, d1.loss_levelset: 0.0640, d2.loss_cls: 9.1847, d2.loss_project: 5.7577, d2.loss_levelset: 0.0549, d3.loss_cls: 9.3142, d3.loss_project: 5.8749, d3.loss_levelset: 0.0656, d4.loss_cls: 9.4000, d4.loss_project: 5.8713, d4.loss_levelset: 0.0596, d5.loss_cls: 9.0998, d5.loss_project: 6.2049, d5.loss_levelset: 0.0682, d6.loss_cls: 9.1544, d6.loss_project: 6.1733, d6.loss_levelset: 0.0779, d7.loss_cls: 9.0938, d7.loss_project: 6.3329, d7.loss_levelset: 0.0836, d8.loss_cls: 8.7211, d8.loss_project: 6.4827, d8.loss_levelset: 0.0856, loss: 152.4366, grad_norm: 307.3523
Traceback (most recent call last):
File "./tools/train.py", line 242, in
main()
File "./tools/train.py", line 231, in main
train_detector(
File "/home/ubuntu/wzy/BoxInstSeg/mmdet/apis/train.py", line 244, in train_detector
runner.run(data_loaders, cfg.workflow)
File "/home/ubuntu/miniconda3/envs/boxinstseg/lib/python3.8/site-packages/mmcv/runner/iter_based_runner.py", line 144, in run
iter_runner(iter_loaders[i], **kwargs)
File "/home/ubuntu/miniconda3/envs/boxinstseg/lib/python3.8/site-packages/mmcv/runner/iter_based_runner.py", line 64, in train
outputs = self.model.train_step(data_batch, self.optimizer, **kwargs)
File "/home/ubuntu/miniconda3/envs/boxinstseg/lib/python3.8/site-packages/mmcv/parallel/distributed.py", line 63, in train_step
output = self.module.train_step(*inputs[0], **kwargs[0])
File "/home/ubuntu/wzy/BoxInstSeg/mmdet/models/detectors/base.py", line 248, in train_step
losses = self(**data)
File "/home/ubuntu/miniconda3/envs/boxinstseg/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
return forward_call(*input, **kwargs)
File "/home/ubuntu/miniconda3/envs/boxinstseg/lib/python3.8/site-packages/mmcv/runner/fp16_utils.py", line 116, in new_func
return old_func(*args, **kwargs)
File "/home/ubuntu/wzy/BoxInstSeg/mmdet/models/detectors/base.py", line 172, in forward
return self.forward_train(img, img_metas, **kwargs)
File "/home/ubuntu/wzy/BoxInstSeg/mmdet/models/detectors/maskformer.py", line 104, in forward_train
losses = self.panoptic_head.forward_train(x, img_metas, gt_bboxes,
File "/home/ubuntu/wzy/BoxInstSeg/mmdet/models/dense_heads/box2mask_head.py", line 440, in forward_train
losses = self.loss(all_cls_scores, all_mask_preds, all_lst_feats,gt_labels, gt_masks,
File "/home/ubuntu/miniconda3/envs/boxinstseg/lib/python3.8/site-packages/mmcv/runner/fp16_utils.py", line 205, in new_func
return old_func(*args, **kwargs)
File "/home/ubuntu/wzy/BoxInstSeg/mmdet/models/dense_heads/box2mask_head.py", line 203, in loss
losses_cls, loss_project, loss_levelset = multi_apply(
File "/home/ubuntu/wzy/BoxInstSeg/mmdet/core/utils/misc.py", line 30, in multi_apply
return tuple(map(list, zip(*map_results)))
File "/home/ubuntu/wzy/BoxInstSeg/mmdet/models/dense_heads/box2mask_head.py", line 239, in loss_single
num_total_pos,num_total_neg) = self.get_targets(cls_scores_list, mask_preds_list,
File "/home/ubuntu/wzy/BoxInstSeg/mmdet/models/dense_heads/box2mask_head.py", line 142, in get_targets
neg_inds_list) = multi_apply(self._get_target_single, cls_scores_list,
File "/home/ubuntu/wzy/BoxInstSeg/mmdet/core/utils/misc.py", line 30, in multi_apply
return tuple(map(list, zip(*map_results)))
File "/home/ubuntu/wzy/BoxInstSeg/mmdet/models/dense_heads/box2mask_head.py", line 167, in _get_target_single
assign_result = self.assigner.assign(cls_score, mask_pred,
File "/home/ubuntu/wzy/BoxInstSeg/mmdet/core/bbox/assigners/mask_hungarian_assigner.py", line 119, in assign
matched_row_inds, matched_col_inds = linear_sum_assignment(cost)
ValueError: matrix contains invalid numeric entries

Hello@zhaoyangwei123
The large loss  is normal for box2mask.  I upload my training log file for coco (r-101). You can refer to it.
I didn't encounter the  above problem. It seems the problem of assigner.  Are you training for the COCO or your dataset?  I have test the codes and configs, which are normal for COCO and VOC.

@LiWentomng I am training for the coco on 8 NVIDIA RTX2080TI GPU. So I changed the image size from (1024, 1024) to (800, 800) with batch=1 and num_workers=0. I don't know if it's because I've changed these parameters.

@zhaoyangwei123
I suggest you firstly try VOC with RTX2080TI GPU.  VOC  needs the less GPU memory with less training time.  The VOC link with coco-format annotaions is here.
I guess that  batch_size=1 may incur this problem.  I will check this problem.

@zhaoyangwei123
I have fixed this issue.   When batch_size=1,  the loss  values will  appear nan  value.
You can try the current codes.  Please note  when batch_size=1, the learning rate  lr and  training step and max_iters (50e by default)  need to be changed proportionally.
Any further questions can be disscuessed.

@LiWentomng
Thank you very much for your answer, but when I run your new code, I have the following problem：
Traceback (most recent call last):
File "/home/ubuntu/miniconda3/envs/boxinstseg/lib/python3.8/site-packages/mmcv/utils/registry.py", line 69, in build_from_cfg
return obj_cls(**args)
File "/home/ubuntu/wzy/BoxInstSeg/BoxInstSeg-main/mmdet/datasets/pipelines/transforms.py", line 767, in init
assert crop_size[0] > 0 and crop_size[1] > 0
TypeError: '>' not supported between instances of 'tuple' and 'int'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/ubuntu/miniconda3/envs/boxinstseg/lib/python3.8/site-packages/mmcv/utils/registry.py", line 69, in build_from_cfg
return obj_cls(**args)
File "/home/ubuntu/wzy/BoxInstSeg/BoxInstSeg-main/mmdet/datasets/custom.py", line 129, in init
self.pipeline = Compose(pipeline)
File "/home/ubuntu/wzy/BoxInstSeg/BoxInstSeg-main/mmdet/datasets/pipelines/compose.py", line 23, in init
transform = build_from_cfg(transform, PIPELINES)
File "/home/ubuntu/miniconda3/envs/boxinstseg/lib/python3.8/site-packages/mmcv/utils/registry.py", line 72, in build_from_cfg
raise type(e)(f'{obj_cls.name}: {e}')
TypeError: RandomCrop: '>' not supported between instances of 'tuple' and 'int'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "tools/train.py", line 242, in
main()
File "tools/train.py", line 218, in main
datasets = [build_dataset(cfg.data.train)]
File "/home/ubuntu/wzy/BoxInstSeg/BoxInstSeg-main/mmdet/datasets/builder.py", line 82, in build_dataset
dataset = build_from_cfg(cfg, DATASETS, default_args)
File "/home/ubuntu/miniconda3/envs/boxinstseg/lib/python3.8/site-packages/mmcv/utils/registry.py", line 72, in build_from_cfg
raise type(e)(f'{obj_cls.name}: {e}')
TypeError: CocoDataset: RandomCrop: '>' not supported between instances of 'tuple' and 'int'
I verified boxlevelset and boxinst, both work fine, so I think there may be some errors in the box2mask code you uploaded.

@zhaoyangwei123
When did this erro appear? At the starting or during training process?
I have test the code and config with 800x800  and bs=1, and the training work fine.
According to the reporting error,   the format of image size is right  as image_size = (800, 800) in your config  ?
Can you share your config information?

@LiWentomng
Hello, my error came at the beginning of the training and I have the following config,image_size = (1024,1024), samples_per_gpu=1, workers_per_gpu=0,  lr=0.00005.  The other configuration is unchanged.
Because I found that there are errors reported on multiple GPUs, I considered solving the problem on a single GPU first. On a single 2080TI, the image size can be changed without change.
I located the error in line 767 of transforms.py
In addition to trying your newly uploaded code with batch=1, I ran your previous code on four V100 GPUs.
The previous problem with Nan on loss, you said it was because batch=1, but I still got the same error during training on v100 with batch=2, numworkers and other configurations unchanged and only changing the learning rate (I used the old code before not the latest code you uploaded, the new uploaded code I only tried training on 2080ti).
Here is the error reported on the v100GPU (previous code):
2023-01-09 23:59:57,557 - mmdet - INFO - Iter [9750/368750]	lr: 5.000e-06, eta: 4 days, 2:56:41, time: 0.944, data_time: 0.029, memory: 14530, loss_cls: 1.7945, loss_project: 1.2005, loss_levelset: 0.1374, d0.loss_cls: 3.7830, d0.loss_project: 1.3551, d0.loss_levelset: 0.1469, d1.loss_cls: 2.0516, d1.loss_project: 1.2665, d1.loss_levelset: 0.1401, d2.loss_cls: 1.8742, d2.loss_project: 1.1870, d2.loss_levelset: 0.1403, d3.loss_cls: 1.8293, d3.loss_project: 1.1677, d3.loss_levelset: 0.1394, d4.loss_cls: 1.8151, d4.loss_project: 1.1670, d4.loss_levelset: 0.1389, d5.loss_cls: 1.7782, d5.loss_project: 1.1886, d5.loss_levelset: 0.1381, d6.loss_cls: 1.7918, d6.loss_project: 1.1604, d6.loss_levelset: 0.1386, d7.loss_cls: 1.7839, d7.loss_project: 1.1765, d7.loss_levelset: 0.1381, d8.loss_cls: 1.7571, d8.loss_project: 1.2137, d8.loss_levelset: 0.1387, loss: 33.7384, grad_norm: 197.6207
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/apis/train.py", line 244, in train_detector
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/apis/train.py", line 244, in train_detector
train_detector(
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/apis/train.py", line 244, in train_detector
main()
File "./tools/train.py", line 231, in main
train_detector(
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/apis/train.py", line 244, in train_detector
runner.run(data_loaders, cfg.workflow)
File "/data/huawei_share/pfchen20/work_dir/anaconda3/envs/boxinstseg1/lib/python3.8/site-packages/mmcv/runner/iter_based_runner.py", line 144, in run
runner.run(data_loaders, cfg.workflow)
File "/data/huawei_share/pfchen20/work_dir/anaconda3/envs/boxinstseg1/lib/python3.8/site-packages/mmcv/runner/iter_based_runner.py", line 144, in run
runner.run(data_loaders, cfg.workflow)
File "/data/huawei_share/pfchen20/work_dir/anaconda3/envs/boxinstseg1/lib/python3.8/site-packages/mmcv/runner/iter_based_runner.py", line 144, in run
runner.run(data_loaders, cfg.workflow)
File "/data/huawei_share/pfchen20/work_dir/anaconda3/envs/boxinstseg1/lib/python3.8/site-packages/mmcv/runner/iter_based_runner.py", line 144, in run
iter_runner(iter_loaders[i], **kwargs)
File "/data/huawei_share/pfchen20/work_dir/anaconda3/envs/boxinstseg1/lib/python3.8/site-packages/mmcv/runner/iter_based_runner.py", line 64, in train
iter_runner(iter_loaders[i], **kwargs)
File "/data/huawei_share/pfchen20/work_dir/anaconda3/envs/boxinstseg1/lib/python3.8/site-packages/mmcv/runner/iter_based_runner.py", line 64, in train
iter_runner(iter_loaders[i], **kwargs)
File "/data/huawei_share/pfchen20/work_dir/anaconda3/envs/boxinstseg1/lib/python3.8/site-packages/mmcv/runner/iter_based_runner.py", line 64, in train
outputs = self.model.train_step(data_batch, self.optimizer, **kwargs)
File "/data/huawei_share/pfchen20/work_dir/anaconda3/envs/boxinstseg1/lib/python3.8/site-packages/mmcv/parallel/distributed.py", line 63, in train_step
outputs = self.model.train_step(data_batch, self.optimizer, **kwargs)
File "/data/huawei_share/pfchen20/work_dir/anaconda3/envs/boxinstseg1/lib/python3.8/site-packages/mmcv/parallel/distributed.py", line 63, in train_step
outputs = self.model.train_step(data_batch, self.optimizer, **kwargs)
File "/data/huawei_share/pfchen20/work_dir/anaconda3/envs/boxinstseg1/lib/python3.8/site-packages/mmcv/parallel/distributed.py", line 63, in train_step
iter_runner(iter_loaders[i], **kwargs)
File "/data/huawei_share/pfchen20/work_dir/anaconda3/envs/boxinstseg1/lib/python3.8/site-packages/mmcv/runner/iter_based_runner.py", line 64, in train
outputs = self.model.train_step(data_batch, self.optimizer, **kwargs)
File "/data/huawei_share/pfchen20/work_dir/anaconda3/envs/boxinstseg1/lib/python3.8/site-packages/mmcv/parallel/distributed.py", line 63, in train_step
output = self.module.train_step(*inputs[0], **kwargs[0])
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/models/detectors/base.py", line 248, in train_step
output = self.module.train_step(*inputs[0], **kwargs[0])
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/models/detectors/base.py", line 248, in train_step
output = self.module.train_step(*inputs[0], **kwargs[0])
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/models/detectors/base.py", line 248, in train_step
output = self.module.train_step(*inputs[0], **kwargs[0])
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/models/detectors/base.py", line 248, in train_step
losses = self(**data)
File "/data/huawei_share/pfchen20/work_dir/anaconda3/envs/boxinstseg1/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
losses = self(**data)losses = self(**data)
File "/data/huawei_share/pfchen20/work_dir/anaconda3/envs/boxinstseg1/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
File "/data/huawei_share/pfchen20/work_dir/anaconda3/envs/boxinstseg1/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
losses = self(**data)
File "/data/huawei_share/pfchen20/work_dir/anaconda3/envs/boxinstseg1/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1051, in _call_impl
return forward_call(*input, **kwargs)
File "/data/huawei_share/pfchen20/work_dir/anaconda3/envs/boxinstseg1/lib/python3.8/site-packages/mmcv/runner/fp16_utils.py", line 116, in new_func
return forward_call(*input, **kwargs)
File "/data/huawei_share/pfchen20/work_dir/anaconda3/envs/boxinstseg1/lib/python3.8/site-packages/mmcv/runner/fp16_utils.py", line 116, in new_func
return forward_call(*input, **kwargs)
File "/data/huawei_share/pfchen20/work_dir/anaconda3/envs/boxinstseg1/lib/python3.8/site-packages/mmcv/runner/fp16_utils.py", line 116, in new_func
return old_func(*args, **kwargs)
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/models/detectors/base.py", line 172, in forward
return old_func(*args, **kwargs)
return old_func(*args, **kwargs)
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/models/detectors/base.py", line 172, in forward
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/models/detectors/base.py", line 172, in forward
return self.forward_train(img, img_metas, **kwargs)
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/models/detectors/maskformer.py", line 104, in forward_train
return self.forward_train(img, img_metas, **kwargs)
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/models/detectors/maskformer.py", line 104, in forward_train
return self.forward_train(img, img_metas, **kwargs)
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/models/detectors/maskformer.py", line 104, in forward_train
return forward_call(*input, **kwargs)
File "/data/huawei_share/pfchen20/work_dir/anaconda3/envs/boxinstseg1/lib/python3.8/site-packages/mmcv/runner/fp16_utils.py", line 116, in new_func
return old_func(*args, **kwargs)
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/models/detectors/base.py", line 172, in forward
return self.forward_train(img, img_metas, **kwargs)
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/models/detectors/maskformer.py", line 104, in forward_train
losses = self.panoptic_head.forward_train(x, img_metas, gt_bboxes,
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/models/dense_heads/box2mask_head.py", line 440, in forward_train
losses = self.panoptic_head.forward_train(x, img_metas, gt_bboxes,
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/models/dense_heads/box2mask_head.py", line 440, in forward_train
losses = self.panoptic_head.forward_train(x, img_metas, gt_bboxes,
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/models/dense_heads/box2mask_head.py", line 440, in forward_train
losses = self.panoptic_head.forward_train(x, img_metas, gt_bboxes,
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/models/dense_heads/box2mask_head.py", line 440, in forward_train
losses = self.loss(all_cls_scores, all_mask_preds, all_lst_feats,gt_labels, gt_masks,
File "/data/huawei_share/pfchen20/work_dir/anaconda3/envs/boxinstseg1/lib/python3.8/site-packages/mmcv/runner/fp16_utils.py", line 205, in new_func
losses = self.loss(all_cls_scores, all_mask_preds, all_lst_feats,gt_labels, gt_masks,
File "/data/huawei_share/pfchen20/work_dir/anaconda3/envs/boxinstseg1/lib/python3.8/site-packages/mmcv/runner/fp16_utils.py", line 205, in new_func
losses = self.loss(all_cls_scores, all_mask_preds, all_lst_feats,gt_labels, gt_masks,
File "/data/huawei_share/pfchen20/work_dir/anaconda3/envs/boxinstseg1/lib/python3.8/site-packages/mmcv/runner/fp16_utils.py", line 205, in new_func
return old_func(*args, **kwargs)
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/models/dense_heads/box2mask_head.py", line 203, in loss
return old_func(*args, **kwargs)
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/models/dense_heads/box2mask_head.py", line 203, in loss
return old_func(*args, **kwargs)
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/models/dense_heads/box2mask_head.py", line 203, in loss
losses_cls, loss_project, loss_levelset = multi_apply(
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/core/utils/misc.py", line 30, in multi_apply
losses_cls, loss_project, loss_levelset = multi_apply(
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/core/utils/misc.py", line 30, in multi_apply
losses_cls, loss_project, loss_levelset = multi_apply(
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/core/utils/misc.py", line 30, in multi_apply
losses = self.loss(all_cls_scores, all_mask_preds, all_lst_feats,gt_labels, gt_masks,
File "/data/huawei_share/pfchen20/work_dir/anaconda3/envs/boxinstseg1/lib/python3.8/site-packages/mmcv/runner/fp16_utils.py", line 205, in new_func
return old_func(*args, **kwargs)
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/models/dense_heads/box2mask_head.py", line 203, in loss
losses_cls, loss_project, loss_levelset = multi_apply(
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/core/utils/misc.py", line 30, in multi_apply
return tuple(map(list, zip(*map_results)))
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/models/dense_heads/box2mask_head.py", line 239, in loss_single
return tuple(map(list, zip(*map_results)))
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/models/dense_heads/box2mask_head.py", line 239, in loss_single
return tuple(map(list, zip(*map_results)))
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/models/dense_heads/box2mask_head.py", line 239, in loss_single
num_total_pos,num_total_neg) = self.get_targets(cls_scores_list, mask_preds_list,
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/models/dense_heads/box2mask_head.py", line 142, in get_targets
num_total_pos,num_total_neg) = self.get_targets(cls_scores_list, mask_preds_list,
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/models/dense_heads/box2mask_head.py", line 142, in get_targets
num_total_pos,num_total_neg) = self.get_targets(cls_scores_list, mask_preds_list,
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/models/dense_heads/box2mask_head.py", line 142, in get_targets
neg_inds_list) = multi_apply(self._get_target_single, cls_scores_list,
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/core/utils/misc.py", line 30, in multi_apply
neg_inds_list) = multi_apply(self._get_target_single, cls_scores_list,
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/core/utils/misc.py", line 30, in multi_apply
neg_inds_list) = multi_apply(self._get_target_single, cls_scores_list,
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/core/utils/misc.py", line 30, in multi_apply
return tuple(map(list, zip(*map_results)))
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/models/dense_heads/box2mask_head.py", line 167, in _get_target_single
return tuple(map(list, zip(*map_results)))
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/models/dense_heads/box2mask_head.py", line 167, in _get_target_single
return tuple(map(list, zip(*map_results)))
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/models/dense_heads/box2mask_head.py", line 167, in _get_target_single
assign_result = self.assigner.assign(cls_score, mask_pred,
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/core/bbox/assigners/mask_hungarian_assigner.py", line 119, in assign
assign_result = self.assigner.assign(cls_score, mask_pred,
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/core/bbox/assigners/mask_hungarian_assigner.py", line 119, in assign
assign_result = self.assigner.assign(cls_score, mask_pred,
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/core/bbox/assigners/mask_hungarian_assigner.py", line 119, in assign
return tuple(map(list, zip(*map_results)))
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/models/dense_heads/box2mask_head.py", line 239, in loss_single
num_total_pos,num_total_neg) = self.get_targets(cls_scores_list, mask_preds_list,
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/models/dense_heads/box2mask_head.py", line 142, in get_targets
neg_inds_list) = multi_apply(self._get_target_single, cls_scores_list,
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/core/utils/misc.py", line 30, in multi_apply
return tuple(map(list, zip(*map_results)))
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/models/dense_heads/box2mask_head.py", line 167, in _get_target_single
assign_result = self.assigner.assign(cls_score, mask_pred,
File "/data/huawei_share/pfchen20/work_dir/BoxInstSeg/mmdet/core/bbox/assigners/mask_hungarian_assigner.py", line 119, in assign
matched_row_inds, matched_col_inds = linear_sum_assignment(cost)matched_row_inds, matched_col_inds = linear_sum_assignment(cost)
matched_row_inds, matched_col_inds = linear_sum_assignment(cost)
ValueError: matrix contains invalid numeric entriesValueError
: matrix contains invalid numeric entries
ValueError: matrix contains invalid numeric entries
matched_row_inds, matched_col_inds = linear_sum_assignment(cost)
ValueError: matrix contains invalid numeric entries
ERROR:torch.distributed.elastic.multiprocessing.api:failed (exitcode: 1) local_rank: 0 (pid: 108397) of binary: /data/huawei_share/pfchen20/work_dir/anaconda3/envs/boxinstseg1/bin/python
ERROR:torch.distributed.elastic.agent.server.local_elastic_agent:[default] Worker group failed
So I don't think the problem is necessarily a batch problem on the previous code and If in the new code you only change the error in the case of batch=1, it seems to me that it is not enough.

@LiWentomng
Hello, my error came at the beginning of the training and I have the following config,image_size = (1024,1024), samples_per_gpu=1, workers_per_gpu=0, lr=0.00005. The other configuration is unchanged.
Because I found that there are errors reported on multiple GPUs, I considered solving the problem on a single GPU first. On a single 2080TI, the image size can be changed without change.
I located the error in line 767 of transforms.py


review 2 different authorization login possibilities

Find pre-made helper for 2 different types of login authorizations. 1 for doctors 1 for patients.

worked on a way to have it easily done in the login session.


[Client.TrackableExtensions] Update Clone Method to Configure Serializer to Handle Cycles

We'll need to update the Clone method to configure the json serializer to preserve references, since we are removing JsonObject attribute from the entities.
Also, update code that read EntityIdentifier to treat it as a public vs private property.

Resolved by PR #40.


Move FormRecognizer to new "Preview 2" design

After the Form Recognizer .NET UX study March 16-17, we incorporated those learnings and a great deal of guidance from the service team.  A description of the resulting design can be found here.  A larger design that includes v2.1 features is here.
This PR implements this design, including:

Splitting clients into FormRecognizerClient and FormTrainingClient
Restructuring Receipt types to evolve with new receipt locales; adding downcast methods as extension methods so that categories of new form types can be added in new packages.
Introducing FieldValue type to handle downcasts into strong typed field values.
Converting "raw extracted"/"text element" types into types that inherit from FormContent.  Making more types inherit from FormContent.
Merging "analyze" results from supervised and unsupervised models into a single RecognizedForm result
Merging "training" results from supervised and unsupervised models into a single CustomFormModel result
Adding extension methods to wait for LROs to complete in a single line.

Fixes #10623
Fixes #10643
Fixes #10735
Fixes #9699
Fixes #10542

@annelo-msft I know we are still iterating on the design, which is why the PR is in draft mode (correct me if I'm wrong). But, could we merge this PR and keep iterating the design (even later deleting *P2.sln) in subsequent PRs? I am constantly bouncing between what we have and what it really is when thinking about a change.
It will also be easier for you so you don't have to constantly rebase

@annelo-msft I know we are still iterating on the design, which is why the PR is in draft mode (correct me if I'm wrong). But, could we merge this PR and keep iterating the design (even later deleting *P2.sln) in subsequent PRs? I am constantly bouncing between what we have and what it really is when thinking about a change.
It will also be easier for you so you don't have to constantly rebase

@maririos , yes, great point!  @kinelski is handling merging this PR, and I think he has a plan to merge it in chunks.  Happy to discuss strategy amongst the three of us.

Closing this PR as it will be broken into smaller chunks for easier review and to avoid big merge conflicts.