matrix-org / matrix-org/matrix-hookshot

Replace decorators with a different solution

Open
#1,204 0 comments 0 reactions 0 assignees View on GitHub
T-Task
Dominant language
TypeScript
Stars
450
Forks
95
Avg merge
1d 2h
Merged PRs (30d)
23

Description

Both the botCommand and config code use [TS39](https://github.com/tc39/proposal-decorators) decorators which are now no longer being worked on, and while still supported in Typescript have proven to be buggy. We should migrate off these. We might be able to make use of [modern decorators](https://devblogs.microsoft.com/typescript/announcing-typescript-5-0/#decorators) albeit these don't support parameters so some parts will need to be entirely swapped.

This is a big task, and will require a lot of refactoring work.

Contributor guide

Open the contributing guide

Research direction

Start by locating the botCommand and config code that uses TS39 decorators, then review the linked TypeScript decorator proposals. Inventory the decorator uses, including parameterized cases, and identify replacement approaches; done means the affected code has been migrated away from TS39 decorators.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
backend
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.