State of the TiddlyWiki GitHub Repository

Hi Folks,

Some of you, who regularly visit the TW GitHub Repo will probably have seen, that the issues page and the pull request page are much more colourful now.

All the currently open issues have labels now. Those labels can be assigned manually by the repo maintainers. They should help us (the community) to easily sort / filter issues, to find out how to contribute.

Background

Some weeks ago @jeremyruston and I did sit down and discussed “the naming” and “the meaning” of those labels.

In the following weeks – till now – I did read and label all of the existing issues and most PRs.

Starting with 1100+ open issues and 200+ pending PRs.

Jeremy was able to merge some of the valid pull requests. Some PRs had to be closed, because they where implemented in a different way. Almost halve of the pending PRs are work-in-progress aka draft at the moment.

I was able to resolve quite a view of the pending issues. So we are down to 880 now and all of them are labelled.

Starting Point for Contributors

  • Issues labelled documentation are good starting points for contributors which are “cool” with TW wikitext

  • Issues marked actionable and basic are good starting points for new contributors, who can help with HTML, CSS and JavaScript code

Important

  • Basic complexity does not mean trivial. It means “low risk” to cause backwards compatibility problems
  • If you want to start a new PR for an issue, make sure it has an actionable label

How to get an actionable label

Pull requests have a higher chance to be merged, if the related issues is actionable.

If an issue has no actionable label yet, but you are interested to help, or you are interested in the “feature”, you will need to kick of or restart the discussion again.

Label explanation

The following list is alphabetically sorted.

There is a GH issue: [TEST] all labels - and describe them · Issue #9399 · TiddlyWiki/TiddlyWiki5 · GitHub that has all labels assigned, so it will show up in every filter. It contains the same info that will follow here, as a reference. The text in the GH issue is the “source of truth”.

actionable

That’s the goal!

  • Issues with the actionable label, should be possible to create a PR
  • Discussion that came to an actionable conclusion
  • If Jeremy or an other maintainer explicitly asks for a PR
  • If possible maintainers give it a “basic” or “advanced” label

actionable:code

  • Same as actionable
  • This issue also contains some (tested) code snippets, that may help contributors to work with
  • Especially issues created by Eric Shulman work that way

advanced

  • Advanced complexity
  • Risk of compatibility problems

basic

  • Basic complexity
  • Low risk of backwards compatibility problems

bug

We want to get rid of them :wink:

  • Issue, that can be replicated, can be considered a bug eg:
    • Performance regression
    • Functionality regression
    • RSOD
  • Has to be acknowledged as a bug by a maintainer
  • Bugs should get high priority - Help / PRs are very welcome

compatibility

  • Most likely breaks backwards compatibility
  • Considered advanced difficulty
  • PRs marked with “compatibility” label will require patience from the contributor
  • May “move” in a frustratingly low pace – but from time to time we will need them

discussion

  • If the OP (original post) is not actionable yet – and
  • There are 5-10 posts argumenting back and forth, the issue is considered a discussion
  • If a discussion also has an actionable label, it should be possible to create a PR
  • A discussion can be about an improvement, newfeature, refactor – If it gets an actionable label
  • If there is a long discussion, it can be considered “advanced” complexity

documentation

improvement

  • Existing functionality, that can / should be improved
  • Considered “basic” or “medium” complexity
  • Improvements should not trigger a compatibility label
    • If they do, they should be labelled “refactor” instead (improvement is removed)

native:app

  • These issues discuss problems with 3rd party native apps, which may also need some work to be done with TW

needswork

  • Issue that is not actionable at the moment
    • Feedback from the issue creator is needed
  • PR that needs more work to be merged.
    • Eg: Merge conflicts need to be resolved.

newfeature

  • New functionality that does not exist at the moment
  • Considered “basic” to “advanced” complexity
  • Can have “compatibility” label

pluginise

  • Functionality, that should be part of a plugin
    • core plugin or
    • 3rd party plugin

refactor

  • Usually, quite some work has to be invested
  • Is considered advanced complexity
  • Needs to take backwards compatibility into account from the beginning
  • Can be slow

usability

  • Issues that may change or improve the user workflow
  • Used mainly in combination with issues labelled “discussion” and “improvement”

usability:a11y (accessibility)

  • Issues that may improve accessibility for users using assistive tools
  • Also see: usability

admin-review

  • Admin marker for issues that should be reviewed again
    • needs a new label
    • has no label yet

Information here will be updated in the future. But for the start – that’s it.

Have fun!
Mario

3 Likes

reserved for a future extension to the above text - description how to filter lists at GH. → TODO

Pinned to Developers category for 2 months

Good work! I did notice the number of open things coming down.

One question:
What is the distinction between bug as a label and bug as an issue type please, in terms of how TiddlyWiki uses them?

Thank you both. This is fantastic!