Skip to content

add filter by author/assignee in /issues #25979 #26661

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 3 commits into from

Conversation

iminfinity
Copy link

Resolves #25979

Screenshot from 2023-08-22 15-40-15


PR sponsored by Obmondo.com

@GiteaBot GiteaBot added the lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. label Aug 22, 2023
@lunny
Copy link
Member

lunny commented Aug 23, 2023

Please wait #26657

@CaiCandong
Copy link
Member

CaiCandong commented Aug 23, 2023

Before.mp4

I pulled it down and tested it, and as if this PR wasn't already done?

image

The contents of the dropdown box are also empty

I apologize for pulling the wrong branch.

@iminfinity
Copy link
Author

@CaiCandong this is the intended behavior
Screencast from 24-08-23 12:57:49 AM IST.webm

@iminfinity iminfinity force-pushed the add/filter branch 2 times, most recently from 84a82f5 to 9b59133 Compare August 31, 2023 19:16
@techknowlogick techknowlogick added type/feature Completely new functionality. Can only be merged if feature freeze is not active. topic/ui Change the appearance of the Gitea UI labels Sep 14, 2023
@iminfinity
Copy link
Author

@6543 can you take a look at this as well

@sebthom
Copy link

sebthom commented Jan 26, 2024

@lunny Since #26657 has been resolved by now. Is there anything else preventing this PR from being progressed or resolved? We would also love to see this being integrated into Gitea.

@denyskon denyskon added type/enhancement An improvement of existing functionality and removed type/feature Completely new functionality. Can only be merged if feature freeze is not active. labels Feb 16, 2024
@KlavsKlavsen
Copy link

KlavsKlavsen commented Mar 19, 2024

Whats the status here? if we update branch for conflicts - will you merge? its a very simple improvement :(
Also - we plan to add label and milestone filters to this page too (we need them) - and jira-like drag'n'drop planning.. But we need a way to get our PRs merged :( @lunny WDYT ?
the planning would just be a 'checkbox' - that would show 4 weeks ahead segments - simply looking at due date - and show a box on left side for each of the 'next 4 weeks' - making it super simple to find your issue and drag it to the left onto the week you want it to be 'done' and UI will set the due date for the issue to end of that week - and updating will then show the issue in the week it was set for.. (and then properly add selector for issues per page - so we can show entire 4 weeks of plans if we want it on one page or something).

This would help us use gitea for proper planning.. simply select a milestone (btw. we have added global milestones (will push PR very soon) - helps us group issues across repos based on features we work on) - and then we can just drag'n'drop to a week - and use our team labels - to easily see the plan for coming 4 weeks per team - and to fill those 4 weeks from our milestones.

We were discussing putting 'planning' in a diff. page than issues - but its actually very few addons needed for it to work properly - so seemed very much like duplication..
Unless we write it so it uses the API to fetch tickets - ie. less static.. speakup if you prefer we do it that way.. we really want our improvements merged - so they benefit all.. we are afterall a company that prefers to ONLY do open source development - and its sad to see it never getting merged 😢

@lunny
Copy link
Member

lunny commented Mar 19, 2024

Whats the status here? if we update branch for conflicts - will you merge? its a very simple improvement :( Also - we plan to add label and milestone filters to this page too (we need them) - and jira-like drag'n'drop planning.. But we need a way to get our PRs merged :( @lunny WDYT ? the planning would just be a 'checkbox' - that would show 4 weeks ahead segments - simply looking at due date - and show a box on left side for each of the 'next 4 weeks' - making it super simple to find your issue and drag it to the left onto the week you want it to be 'done' and UI will set the due date for the issue to end of that week - and updating will then show the issue in the week it was set for.. (and then properly add selector for issues per page - so we can show entire 4 weeks of plans if we want it on one page or something).

This would help us use gitea for proper planning.. simply select a milestone (btw. we have added global milestones (will push PR very soon) - helps us group issues across repos based on features we work on) - and then we can just drag'n'drop to a week - and use our team labels - to easily see the plan for coming 4 weeks per team - and to fill those 4 weeks from our milestones.

We were discussing putting 'planning' in a diff. page than issues - but its actually very few addons needed for it to work properly - so seemed very much like duplication.. Unless we write it so it uses the API to fetch tickets - ie. less static.. speakup if you prefer we do it that way.. we really want our improvements merged - so they benefit all.. we are afterall a company that prefers to ONLY do open source development - and its sad to see it never getting merged 😢

Thank you for your patience, sorry there are too many issues/PRs that need to be handled. I think we can pick up this again.

@6543
Copy link
Member

6543 commented Mar 19, 2024

having a milestone assigned do at least shine a light when a featurefreeze happens ... so I'll assign it now

@6543 6543 added this to the 1.23.0 milestone Mar 19, 2024
@6543
Copy link
Member

6543 commented Mar 19, 2024

about add filters etc ... to the global issue/pull dashboard, if not done right it gets more and more overloaded.

the a related current discussion happend at #29701 (comment) for example ...

@KlavsKlavsen
Copy link

KlavsKlavsen commented Mar 20, 2024

@6543 You are absolutely correct.. also the issue pages for repo vs. global are different - thats also very odd (and causes confusion).
Primarily though its a huge problem, that you cannot filter issues on labels, milestones either - as that removes their usefulness (You can filter on labels if you can find an issue with the label and click on that.. LOL).

We have a couple of dedicated UX'es who, work on these problems every day - overload vs. functionality etc. - I'd gladly ask to give an opinion if you want.
IMHO you need to first agree what features is needed - and then get someone with knowledge about people and such (UX) to design the page for how to implement the features, so they do not cause such overloads, but become natural.

I hope we do not disagree about the clear need for the ability to filter as such. Jira f.ex. has this - and its still a very popular product - so clearly that should not be in discussion :)

@@ -764,19 +784,6 @@ func UsernameSubRoute(ctx *context.Context) {
func getUserIssueStats(ctx *context.Context, ctxUser *user_model.User, filterMode int, opts *issue_indexer.SearchOptions) (*issues_model.IssueStats, error) {
doerID := ctx.Doer.ID

opts = opts.Copy(func(o *issue_indexer.SearchOptions) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why remove these code?

@@ -33,6 +33,7 @@ const (
FilterModeMention
FilterModeReviewRequested
FilterModeReviewed
FilterModeSearch
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think it should be a filter mode since this filter can combind with other filters. It's just standalone filters.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we need some way to tell getUserIssueStats func that poster/assignee filter is applied, otherwise it will put doerID in everything and the count(open/closed/total) will be incorrect

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

even if we pass opts with correct data, it wont apply without the filtermode
https://github.com/go-gitea/gitea/blob/main/routers/web/user/home.go#L792-L806

@lunny lunny modified the milestones: 1.23.0, 1.24.0 Oct 9, 2024
@wxiaoguang
Copy link
Contributor

After playing with the issue list for a while, I think I could fully understand the problem now.

I have posted my initial work here: Refactor issue list #32755

In short: it is impossible to add the filter by this approach. The root problem is that m.Get("/posters", repo.IssuePosters) won't work correctly, it shouldn't list all users from database as poster candidates.

@wxiaoguang
Copy link
Contributor

I will add the initial support after Refactor issue filter (labels, poster, assignee) #32771

@wxiaoguang
Copy link
Contributor

Let's do this: Add label/author/assignee filters to the user/org home issue list #32779

@wxiaoguang wxiaoguang closed this Dec 10, 2024
@GiteaBot GiteaBot removed this from the 1.24.0 milestone Dec 10, 2024
wxiaoguang added a commit that referenced this pull request Dec 11, 2024
…2779)

Replace #26661, fix #25979

Not perfect, but usable and much better than before. Since it is quite
complex, I am not quite sure whether there would be any regression, if
any, I will fix in first time.

I have tested the related pages many times: issue list, milestone issue
list, project view, user issue list, org issue list.
@go-gitea go-gitea locked as resolved and limited conversation to collaborators Mar 10, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
lgtm/need 2 This PR needs two approvals by maintainers to be considered for merging. topic/ui Change the appearance of the Gitea UI type/enhancement An improvement of existing functionality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

allow issue filtering in "global issue view"