* Move src to apps/draupnir/src https://github.com/the-draupnir-project/planning/issues/100 * Move package.json https://github.com/the-draupnir-project/planning/issues/100 * Add matrix-basic-types to monorepo. Get everything working including linting and prettier :3 https://github.com/the-draupnir-project/planning/issues/100 * Add interface-manager to monorepo. This was a bitch because apparently we forgot to delete node_modules before creating the workspace package.json. So it had linked a bunch of local stuff like was in node_modules for Draupnir... Anyways i think we're still on track. https://github.com/the-draupnir-project/planning/issues/100 * idk why there are prettier changes in apps but there are. * Add matrix-protection-suite to monorepo. https://github.com/the-draupnir-project/planning/issues/100 * Add matrix-protection-suite-for-matrix-bot-sdk https://github.com/the-draupnir-project/planning/issues/100 We will need to add the real upstreams and versions and remove the file links as we publish the packages. * Move mps-interface-adaptor into monorepo https://github.com/the-draupnir-project/planning/issues/100 Wohoo, i think only draupnir is left now? * Move Draupnir test files to draupnir directory smh smh smh. https://github.com/the-draupnir-project/planning/issues/100 * Fix typescript config for tests and eslint. Now we get proper linting and type checking of tests. https://github.com/the-draupnir-project/planning/issues/100 * WIP Integrating draupnir into monorepo tooling... https://github.com/the-draupnir-project/planning/issues/100 We need to stop aliasing bot-sdk but we should first check that upstream is using a consistent name too. * Remove matrix-bot-sdk alias for vector fork. https://github.com/the-draupnir-project/planning/issues/100 * Add top command description type and weave through API. A more recent version of typescript meant that the exectutor's contravariance got checked which destroyed the API so we had to make a top type for command descriptions and parametrise some of the API. https://github.com/the-draupnir-project/planning/issues/100 * Fix typescript errors related to class property initialisation changes. https://www.typescriptlang.org/tsconfig/#useDefineForClassFields Seems like they were using defineProperty before which meant properites were initialised after the constructor ran. Honestly i like that more but we're going to stick with what they intend to be the default. https://github.com/the-draupnir-project/planning/issues/100 * Fix tests lacking fixtures context. https://github.com/the-draupnir-project/planning/issues/100 * Fix typescript errors related to error destructuring in tests. https://github.com/the-draupnir-project/planning/issues/100 * Pin postgres package to workaround upstream issue https://github.com/porsager/postgres/issues/1150 Documented in DEPENDENCIES.md https://github.com/the-draupnir-project/planning/issues/100 * Fix contravariance issue in hash store helper. Part of the TS 5.9 upgrade fallout. https://github.com/the-draupnir-project/planning/issues/100 * Fix minor typescript 5.9 migration issuess All typescript errors finished, yay. * Fix REUSE missing headers. * Fix assets script in draupnir app. * Add Draupnir to eslint scope * Remove the appservice web API. There are too many eslint errors here to do with unsafe parsing of properties from the body etc. And there's actually no consumers to this API. It's also a widget API, and all it does is provision the bot and nothing more. * Fix eslint config for DeadDocumentJSX. It wasn't working well with the jsx templates. We should probably delete the tsconfig.eslint.json shite now. * Update src/utils.ts for eslint. This shit is legacy i hate it. * Fix eslint errors in config. Really this is paint over rot since the config doesn't have a schema, and we can't really make one either. * Fix eslint issues in ReportManager. This code is diabolical. It hasn't really been fixed that will take refactoring and making sure people don't write this sorts of bad code ever again. Which thankfully we have process in place for. * Fix clientHelper eslint issues. * Fix eslint for ImportCommand. * Grinding eslint fml. * Fix miscellaneous eslint issues. * allow no-deprecate for logMessage. shit's being annoying. * Fix remaining eslint issues... We also deleted one of the scripts used to evaluate the performance of various endpoints, which we were not using. * Give bot toggle asyncDispose for code consistency. * Fix package.json access issues. * Adjust Docker and CI for new app location in monorepo. * Fix broken integration tests. * Remove prepare script from matrix-protection-suite package. Isn't needed anymore * Fix build:all script missing base files. * Remove test script from matrix-protection-suite-for-matrix-bot-sdk It doesn't have any tests :/ * Order of setup is wrong in integration test workflows. * Fix mps interface adaptor doesn't have any tests. * Fix appservice registration for test harness. * Fix matrix-basic-types jest configuration * Fix no build step in mjolnir.yaml * Transfer common dev dependencies to the workspace root. They were just wrong.
4.7 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[4.2.6] - 2025-11-12
Fixed
- Fix unsafe keyword argument parsing.
[4.2.5] - 2025-08-12
Fixed
- Updated matrix-basic-types peer dependency for V12 room ID's.
[4.2.4] - 2025-08-12
Fixed
-
The
TextCommandReadercan now read V12 room ID's. -
The mention detection regex has been simplified.
[4.2.3] - 2025-05-31
Fixed
- The prepare step was changed to postinstall by a misunderstanding.
[4.2.2] - 2025-05-31
Fixed
@gnuxie/typescript-resultwas locally linked in package-lock.json smh.
[4.2.1] - 2025-05-31
Fixed
- Account for differences in yarn's intepretation of the
preparescript and modern npm's.
[4.2.0] - 2025-05-31
Changed
- Upgraded from yarn classic to npm.
Fixed
- Updated outdated peer dependency for @the-draupnir-project/matrix-basic-types
[4.1.0] - 2025-05-14
Added
- Quote syntax to quote strings.
- Boolean presentation type and translator to string.
Fixed
- Added a pathway to create negative integers.
[4.0.2] - 2025-03-03
Fixed
- Return an
UnexpectedArgumentErrorinstead of aResultErrorwhen an unexpected additional argument is provided to a command.
[4.0.1] - 2025-02-02
Fixed
- Fixed a bug in the command dispatcher normaliser that would mean only the first argument or designator to any command would be included in the normalised command. https://github.com/the-draupnir-project/Draupnir/issues/707.
[4.0.0] - 2025-01-20
Changed
- The signature of the
CommandDispatcherprefixExtractorcallback has been changed so that it is possible to transform the entire command body with acommandNormaliser. This was changed primarily to fix https://github.com/the-draupnir-project/Draupnir/issues/678.
Added
makeCommandNormaliserhas been added that covers all the typical corner cases for making a bot respond to mentions.
[3.0.0] - 2024-12-09
Added
-
Numbers will now be parsed by the
TextCommandReaderas a new number presentaiton type. -
PresentationTypeTranslatorsnow exist so that you can allow presentation types to be translated between each other. -
Several standard presentation type translators have been created that target the
StringPresentationType. This is because the command reader parses types such as matrix user id's into specialized ones, and this can mess with commands that are accepting a string. For example, a reason for a ban.
[2.6.0] - 2024-10-11
Added
- Added special handing of the
--no-confirmkeyword to the matrix interface adaptor. This allows you to specify confirmation prompts for commands.
[2.5.0] - 2024-10-07
Added
-
<h1>through<h6>are now supported in DeadDocument. -
<hr />is now supported in DeadDocument.
[2.4.1] - 2024-09-27
Changed
- Improved inference on
MatrixInterfaceAdaptor['describeRenderer'].
[2.4.0] - 2024-09-20
Changed
- Verify that commands have renderers inside command dispatcher.
[2.3.0] - 2024-09-11
Changed
- Upgraded to
@the-draupnir-project/matrix-basic-types@0.2.0. - Upgraded to
@gnuxie/typescript-result@1.0.0.
[2.2.0] - 2024-09-10
Changed
RestParameterDescriptioncan now only prompt one presentation for rest.
[2.1.0] - 2024-09-10
Added
CommandExecutorHelpernow has aparseAndInvokemethod to aid unit testing commands.
Changed
- When an argument is missing, command parsers will always get a
PromptRequiredErrorif a prompt is available on the associated parameter description.
[2.0.0] - 2024-09-09
Changed
MatrixInterfaceAdaptorcallbacks have been simplified and moved into a common interface.
[1.1.1] - 2024-09-09
Fixed
CommandExecutorHelpertype inference.CommandExecutorHelperkeyword properties are now partial instead of required.
[1.1.0] - 2024-09-09
Added
CommandExecutorHelperto help unit test command executors.
[1.0.2] - 2024-09-06
Fixed
- A bug where command designators were not interned into command entries.
[1.0.1] - 2024-09-06
Fixed
CompleteCommand.toPartialCommand()method was missing after parsing commands with the standard command parser.
[1.0.0] - 2024-09-06
Changed
- Everything.
- Better inference from parameter descriptions, no need to specify types in the executor.
- Tests moved from Draupnir, some bugs squashed.
- Too much work done.
[0.1.0] - 2024-08-22
- Initial release.