Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
    • Help
    • Support
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
funkwhale
funkwhale
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
    • Cycle Analytics
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Charts
  • Issues 100
    • Issues 100
    • List
    • Boards
    • Labels
    • Milestones
  • Merge Requests 3
    • Merge Requests 3
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
    • Charts
  • Packages
    • Packages
    • Container Registry
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • funkwhale
  • funkwhalefunkwhale
  • Issues
  • #737

Closed
Open
Opened Mar 02, 2019 by Eliot Berriot@eliotberriot💬
  • Report abuse
  • New issue
Report abuse New issue

Delivery of activities for local objects causes race condition issues

This was spotted by @ariasuni

Steps to reproduce:

  1. Create a private library
  2. Ensure it has a follower on the same instance
  3. Try to change the library visibility level to "instance"
  4. Observes that it fails (visibility is stuck to "me")

Explanation of the behaviour

When we update the visibility of a library, we update it in our database, then notify followers of the change. All of this happen inside a transaction.

When we notify followers (including local followers), we send an activity, which end up being processed locally, causing a second update. Since the "instance" visibility level is not exposed in ActivityPub representations, we default to me.

Possible solution

Do not deliver local activities by default (unless specified explicitely, e.g for Follow, and Follow accept)

Edited Mar 02, 2019 by Eliot Berriot
Assignee
Assign to
0.19
Milestone
0.19
Assign milestone
Time tracking
None
Due date
None
4
Labels
Area: Backend Component: Federation Severity: Critical Type: Bug
Assign labels
  • View project labels
Reference: funkwhale/funkwhale#737