Skip to content

Issue labelling

Kat Gerasimova edited this page Feb 21, 2022 · 12 revisions

You can find the full list of project labels here for web/desktop, Android and iOS.

We strive to completely cover all applicable issues with these core labels:

  1. Type — Every issue is assigned a type:

    • T-Defect: Bugs, crashes, hangs, vulnerabilities, or other reported problems (web/desktop, Android and iOS)
    • T-Enhancement: New features, changes in functionality, performance boosts, user-facing improvements (web/desktop)
    • T-Task: Refactoring, enabling or disabling functionality, other engineering tasks (web/desktop)
    • T-Other: Questions, user support, anything else (web/desktop)
  2. Severity — Only issues labelled T-Defect are also assigned a severity:

    • S-Critical: Prevents work, causes data loss and/or has no workaround (web/desktop)
    • S-Major: Severely degrades major functionality or product features, with no satisfactory workaround (web/desktop)
    • S-Minor: Impairs non-critical functionality or suitable workarounds exist (web/desktop)
    • S-Tolerable: Low/no impact on users (web/desktop)
  3. Occurrence — All issues labelled T-Defect are also assigned a prevalence:

    • O-Frequent: Affects or can be seen by most users regularly or impacts most users' first experience (web/desktop)
    • O-Occasional: Affects or can be seen by some users regularly or most users rarely (web/desktop)
    • O-Uncommon: Most users are unlikely to come across this or unexpected workflow (web/desktop)

    This label may also be used for other types of issues.

  4. Area — Most issues are assigned one or several "areas" using one of the many A- prefixed labels, e.g. A-Composer or A-Spaces. Each area label maps to a group of features or portion of the UI surface in the app. All A-* labels should have a description and the colour should be #bfd4f2 unless it's a team label.

Other common labels

We have a handful of other labels which are added on an as-needed basis, and not expected to be exhaustive:

  • Exceptions — Special flags for issues and pull requests:

    • X-Needs-Info: This issue is blocked pending further information from the reporter (web/desktop)
    • X-Regression: Denotes things breaking which previously worked (web/desktop)
    • X-Release-Blocker: Issues which must be resolved before making a release (web/desktop)
  • Good first issue / Help wanted — Well-defined issues which are suitable for folks new to the codebase (web/desktop)

  • A11y / Meta / I18n / Privacy / Security — Issues which fall under these conceptual themes (which apply to many software projects and are not specific to Element)

  • Sponsored — Used internally by Element to denote issues with external funding (web/desktop)

Ad hoc labels (Z-)

We have reserved the Z- prefix for ad hoc labels. Please use #ededed colour for new `Z-\ labels unless there is a good reason to use something else.

Any member of the core team is welcome to create labels beginning with Z- for any purpose, such as tracking personal areas of interest or providing a common way to label cross-repo initiatives. The prefix avoids interference with the project's main labels.

Labs labels

When you add any labels for features in labs, you need to update the automation for those:

Team labels

Teams at Element can chose have their own labels to assist with automation and traige. These should be in the format Team: <name of team> and should match that team's colours.

Clone this wiki locally