Skip to content
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

Protect against NPEs in notifications list #10879

Merged

Conversation

zeripath
Copy link
Contributor

@zeripath zeripath commented Mar 29, 2020

Unfortunately there appears to be potential race with notifications being set before the associated issue has been committed.

This PR adds protection in to the notifications list to log any failures and remove these notifications from the display - with an untranslated flash error.

References #10815 - and prevents the panic but does not completely fix this.

Signed-off-by: Andrew Thornton art27@cantab.net

Unfortunately there appears to be potential race with notifications
being set before the associated issue has been committed.

This PR adds protection in to the notifications list to log any failures
and remove these notifications from the display.

References go-gitea#10815 - and prevents the panic but does not completely fix
this.

Signed-off-by: Andrew Thornton <art27@cantab.net>
@GiteaBot GiteaBot added the lgtm/need 1 This PR needs approval from one additional maintainer to be merged. label Mar 29, 2020
@GiteaBot GiteaBot added lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. and removed lgtm/need 1 This PR needs approval from one additional maintainer to be merged. labels Mar 29, 2020
@zeripath
Copy link
Contributor Author

make lg-tm work

@zeripath zeripath merged commit d01763e into go-gitea:master Mar 29, 2020
@zeripath zeripath deleted the fix-10815-panic-in-notifications-due-to-NPEs branch March 29, 2020 19:51
zeripath added a commit to zeripath/gitea that referenced this pull request Mar 29, 2020
Unfortunately there appears to be potential race with notifications
being set before the associated issue has been committed.

This PR adds protection in to the notifications list to log any failures
and remove these notifications from the display.

References go-gitea#10815 - and prevents the panic but does not completely fix
this.

Signed-off-by: Andrew Thornton <art27@cantab.net>
@zeripath zeripath added the backport/done All backports for this PR have been created label Mar 29, 2020
if failures == nil || len(failures) == 0 {
return nl
}
remaining := make([]*Notification, 0, len(nl))
Copy link
Member

Choose a reason for hiding this comment

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

It's better to use len(nl) - len(failures).

lunny pushed a commit that referenced this pull request Mar 30, 2020
* Protect against NPEs in notifications list (#10879)

Unfortunately there appears to be potential race with notifications
being set before the associated issue has been committed.

This PR adds protection in to the notifications list to log any failures
and remove these notifications from the display.

References #10815 - and prevents the panic but does not completely fix
this.

Signed-off-by: Andrew Thornton <art27@cantab.net>

* add log import

* Update models/notification.go

Co-Authored-By: Lauris BH <lauris@nix.lv>

Co-authored-by: Lauris BH <lauris@nix.lv>
@go-gitea go-gitea locked and limited conversation to collaborators Nov 24, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
backport/done All backports for this PR have been created lgtm/done This PR has enough approvals to get merged. There are no important open reservations anymore. type/bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants