Skip to content

Migrate the tags functionality to the community bot #84

Closed

Description

@wiktoriavh

The tags feature was used more than initially anticipated, so it should be officially added to the community bot.

Acceptance criteria

  • move the functionality of the tags feature into the community bot
  • the existing tags need to be migrated into the bot as well

Open Questions, to be defined

  • it needs to be easy to prune tags that are unused, but how?
  • monthly report requiring moderation action?
  • who is allowed to prune?
  • criteria of an unused tag?
  • when clicking prune, does it prune all that do not meat the criteria or do we need to prune them individually?

Activity

  1. added
    questionFurther information is requested
    triagedWhen an issue was triaged by the owner and given the green light for implementation.
    on Aug 16, 2026
  2. added theissue type on Aug 16, 2026
  3. changed the title [-]Add the tags functionality to the community bot[/-] [+]Migrate the tags functionality to the community bot[/+] on Aug 16, 2026
  4. removed
    triagedWhen an issue was triaged by the owner and given the green light for implementation.
    on Aug 16, 2026
  5. self-assigned this
    on Aug 16, 2026
  6. hmd-ali commented on Aug 16, 2026

    @hmd-ali
    Contributor

    We can track the tag's last used date. we can simply use that to check if (last_used > N days) { prune() }
    Staff should be the one who prunes.
    To prune, we could have a slash command for it that lists the unused tags, and show a multiple select dropdown to choose and prune them.
    we could also have a cron job that runs daily/weekly/monthly that checks for tags that are last used since more the N days, and return that same list/dropdown.

    We just need to define N.

  7. wiktoriavh commented on Aug 17, 2026

    @wiktoriavh
    MemberAuthor

    How about a cron job every 14 days that shows us the tags that were last used 14 days ago.

  8. linked a pull request that will close this issuefeat(#84): add tags functionality #91on Aug 17, 2026
  9. hmd-ali commented on Aug 17, 2026

    @hmd-ali
    Contributor

    for which purpose? to prune everything else? In that case, I think 14 days is really short

  10. hmd-ali commented on Aug 17, 2026

    @hmd-ali
    Contributor

    For example we could have a very specific tag something like $breakpoints that shows the common breakpoints to handle when doing responsive development. We don't get the question that often, but it's still a very useful tag. And pretty sure it won't survive the 14 days. I was thinking something like 90 days. The cron doesn't matter how often it runs, that depends on how often to we intended to prune, it could run weekly but would still be returning tags that are last used more than 90 days ago, not a week ago

  11. hmd-ali commented on Aug 18, 2026

    @hmd-ali
    Contributor

    I've added a last_used_at db column that's by default null when creating a tag, when the tag gets used, that gets updated.
    I've also added a customizable DAYS_TO_KEEP_TAGS bot option that we use to check if the tag is pruneable or not. Currently I'm checking if it is based on 2 conditions, either last_used_at is null and tag created_at is > DAYS_TO_KEEP_TAGS, or if last_used_at is > DAYS_TO_KEEP_TAGS.

    The /tags prune command shows a paginated list of pruneable tags, with a dropdown to select tags to KEEP, and a button to prune other tags in that list. Cron sends the same message weekly.

  12. wiktoriavh commented on Aug 18, 2026

    @wiktoriavh
    MemberAuthor

    @hmd-ali I am fine with 90 days as well. Maybe no cron job then, i think that is too much after all. A simple command, like you suggest /tags prune will show a list of pruneable tags sorted by last used in ascending order. Then we run the command manually whenever we want to take a look and take an action. Howerever, the prune droddown should select tags to PRUNE not to keep. anything not selected is kept. anythign selected is pruned. This is better UX.

    To summaries

    • no cron job
    • 90 days before tags becomes pruneable
    • /tags prune is a command which shows a select where we select tags to prune
  13. added a commit that references this issue on Aug 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

questionFurther information is requested

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions