Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • funkwhale funkwhale
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 389
    • Issues 389
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 16
    • Merge requests 16
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • funkwhale
  • funkwhalefunkwhale
  • Issues
  • #1566

Closed
Open
Created Sep 09, 2021 by Mike Macgirvin@macgirvin

ActivityStreams compliance: duration

Funkwhale adds a number of additional fields to its ActivityStreams object record without providing them in a namespace or schema. This isn't necessarily an issue outside LD parsing and LD Signature verification, however one of these fields "duration" is defined in the ActivityStreams vocabulary and according to that specification it "MUST" be expressed by an xsd:duration as defined in https://www.w3.org/TR/xmlschema11-2 section 3.3.6. Funkwhale appears to send this as a normal integer representing seconds and will be marked invalid and activities possibly rejected by strict ActivityStreams parsers.

There are a couple of ways this could be fixed. One is to be made compliant (e.g. an audio lasting 45 seconds would be encoded as 'PT45S'). Parsing these attributes is quite specific and this would probably not be a simple change; however this would be the most correct/conforming solution. Another way (quick fix) might be to disconnect the current value from the 'duration' attribute and perhaps call it 'rawDuration' or 'duration_seconds' or something which does not conflict with the already defined property.

Assignee
Assign to
Time tracking