Commit Graph

704 Commits (179361d76158e173d398fe44f8326103d3b79b47)

Author SHA1 Message Date
Dragory d5ea95d9e9
Limit replies to fit within one message
This applies to both the DM to be sent to the user, and the message
created in the thread channel.

This is because edits (via !edit) could change the amount of messages
a reply takes (based on message formatting), leading to either being
unable to post the full edit if it goes over the message limits, or
having to edit a previous message to be 'empty' if the result of the
edit would take fewer messages to post than the original reply.

This also fixes an issue where !edit/!delete would not apply to more
than the first message created by a reply - whether in user DMs or in
the thread channel.
2020-10-21 21:09:50 +03:00
Dragory 42f6e79df8
Remove faulty message chunking logic in user DMs
The logic could cause things like code blocks get cut in the middle
without being handled gracefully. With this change, messages sent
to the user can take, at most, 1 message. This does not affect
messages in the thread channel.
2020-10-21 21:01:40 +03:00
Dragory 192fec6952
Fix rounding in thread messages that only contain an ID
Internally, the thread_messages table's body column's type was
undefined in sqlite. This is because it was set to mediumtext, but
sqlite doesn't have that type. Because of that, sqlite treated the
column as a numeric column. Sqlite also allows storing text data in
numeric columns (because reasons), so in most cases everything worked
fine. It was only when storing an actual number, like an ID, that it
was also *treated* as a number. And since snowflake IDs are larger
than the maximum safe integer in JavaScript, the stored ID could get
rounded when retrieving data from the database.
2020-10-19 01:50:12 +03:00
Dragory 5b0f9d31b7
Create new message types for staff reply edits/deletions
This has backwards-compatibility-breaking changes to the formatters
of staff reply edits/deletions, which now only receive the
thread message for the edit/deletion with the original data in
the thread message's metadata.
2020-10-12 20:54:54 +03:00
Dragory 5de750bc3e
Add metadata field for thread messages 2020-10-12 20:53:53 +03:00
Dragory f9671c385d
Add formatters for system messages
This has backwards-compatibility-breaking changes to the signature
of thread.postSystemMessage() and thread.sendSystemMessageToUser().
2020-10-12 20:33:49 +03:00
Dragory c9e0dbf040
Handle unhandled rejections the same way as uncaught exceptions 2020-10-12 20:00:55 +03:00
Dragory f5caa80c4c
Allow plugins to access the 'threads' module for creating new threads 2020-10-12 20:00:25 +03:00
Dragory a3c1ed0a28
Include DM message in beforeNewThread hook data. Allow specifying categoryId in createNewThreadForUser(). 2020-10-12 19:59:47 +03:00
Dragory aadda31069
Add metadata field for threads
Useful for e.g. storing plugin-specific data about a thread.
2020-10-12 19:57:39 +03:00
Dragory c58ebf5698
Update CHANGELOG and documentation on plugin loading 2020-10-04 17:19:49 +03:00
Dragory d8c531cb4d
Add support for different plugin sources; add support for installing plugins from npm 2020-10-04 16:46:43 +03:00
Dragory e6bdc4cd8c
Update CHANGELOG 2020-10-04 02:14:07 +03:00
Dragory c7fc8a6bc0
Update CHANGELOG 2020-10-04 02:12:44 +03:00
Dragory 9048942ce9
Expose web server express application to plugins 2020-10-04 02:10:13 +03:00
Dragory e99352e2ac
Use Express as the web server for logs/attachments 2020-10-03 16:40:05 +03:00
Dragory bf4920f4b0
Update log storage plugin example for beta.3 2020-10-03 16:15:02 +03:00
Dragory b80cb0ed15
Add CHANGELOG entries for beta.3 2020-10-03 16:12:57 +03:00
Dragory 0d2202d38c
Allow log storage handlers to store data. Add shouldSave() function to log storage handlers. 2020-10-03 16:10:27 +03:00
Dragory 3937c0a838
Start expiredBlockLoop() directly, not on "ready" event
This is because the client is already ready by this point, as plugins
are only loaded after the ready event.
2020-10-03 15:18:27 +03:00
Dragory 19b9d4db61
Fix missing await when removing blocks 2020-10-03 15:17:30 +03:00
Dragory 454ab75fec
Fix !newthread failing with uncached users 2020-09-25 01:42:37 +03:00
Dragory 4bdcf1e427
Update CHANGELOG for v2.31.0-beta.2. Update package version. 2020-09-23 03:43:29 +03:00
Dragory 3a7f7ffc90
Add support for alternative log storage types 2020-09-23 03:16:26 +03:00
Dragory a7e863da6a
Move migration files within src
This means that the db folder no longer contains any code required
for the bot to run.
2020-09-23 02:34:40 +03:00
Dragory 0d29859dd8
Remove Feb 2018 legacy migrator
This is to allow other features to use the /logs folder.

Going forward, updating from a pre-Feb 2018 version of the bot
will require first updating the bot to version v2.30.1 and running it
once. After that, updating to newer versions is possible.
2020-09-23 02:30:17 +03:00
Dragory 5c6df913bf
beforeNewThread hook type fixes 2020-09-23 02:29:09 +03:00
Dragory f5b6e46040
Add afterThreadClose plugin hook 2020-09-23 02:28:41 +03:00
Dragory 9be6b2aa1f
Don't allow opening threads with bots with !newthread, fixes #452 2020-09-23 01:04:40 +03:00
Dragory 0c9302b41b
Add statusType option 2020-09-23 00:58:18 +03:00
Dragory 4ea5650289
Consider an empty value for mentionRole as 'none' 2020-09-23 00:39:56 +03:00
Dragory bf47fb7406
Add 'none' option for mentionRole 2020-09-23 00:38:46 +03:00
Dragory 180f936bc4
Update config jsdoc 2020-09-23 00:26:36 +03:00
Dragory 171ad403d9
Add updateNotificationsForBetaVersions option 2020-09-23 00:25:50 +03:00
Dragory f46d719f4c
Code clean-up 2020-09-23 00:21:44 +03:00
Dragory e2de5b97bd
Documentation clean-up 2020-09-23 00:20:55 +03:00
Nils 96e8eae188
Fully functioning built-in plugin to send system messages on join/leave (#437)
Co-authored-by: Miikka <2606411+Dragory@users.noreply.github.com>
2020-09-23 00:19:34 +03:00
funkyhippo 3af5a67c1b Added anonymizeChannelName configuration option. 2020-09-23 00:17:31 +03:00
dependabot[bot] 88c2fc2e83 Bump knex from 0.21.4 to 0.21.5
Bumps [knex](https://github.com/knex/knex) from 0.21.4 to 0.21.5.
- [Release notes](https://github.com/knex/knex/releases)
- [Changelog](https://github.com/knex/knex/blob/master/CHANGELOG.md)
- [Commits](https://github.com/knex/knex/commits/0.21.5)

Signed-off-by: dependabot[bot] <support@github.com>
2020-09-23 00:11:12 +03:00
dependabot[bot] d45bb8d09c Bump mime from 2.4.4 to 2.4.6
Bumps [mime](https://github.com/broofa/mime) from 2.4.4 to 2.4.6.
- [Release notes](https://github.com/broofa/mime/releases)
- [Changelog](https://github.com/broofa/mime/blob/master/CHANGELOG.md)
- [Commits](https://github.com/broofa/mime/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2020-09-23 00:10:50 +03:00
dependabot[bot] bf476532f0 Bump humanize-duration from 3.12.1 to 3.23.1
Bumps [humanize-duration](https://github.com/EvanHahn/HumanizeDuration.js) from 3.12.1 to 3.23.1.
- [Release notes](https://github.com/EvanHahn/HumanizeDuration.js/releases)
- [Changelog](https://github.com/EvanHahn/HumanizeDuration.js/blob/master/HISTORY.md)
- [Commits](https://github.com/EvanHahn/HumanizeDuration.js/compare/v3.12.1...v3.23.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-09-23 00:10:34 +03:00
Dragory 0d25e48cd5
Add debugger support to watch task
0.0.0.0 used as IP to allow debugging from Windows to WSL2
2020-09-23 00:02:57 +03:00
Dragory 7227775c27
Use latest node-supervisor version from git
Includes improved --inspect support
2020-09-23 00:02:16 +03:00
Dragory 8d151c1800
Fix null values in entity getSQLProps()
Fixes 'null' role name when staff member has no hoisted roles
2020-09-22 23:47:04 +03:00
Dragory 307b9fdee4
docs: fix formatting 2020-09-22 22:26:21 +03:00
Dragory 8d2e76c7b1
docs: fix misnamed option, fixes #454 2020-09-22 22:26:08 +03:00
Dragory d1990370ab
Merge README changes from 'master' 2020-09-13 16:00:03 +03:00
Miikka 909625a48e
Update setup.md 2020-09-13 15:58:54 +03:00
Dragory 2fa7ec6866
Combine changelogs for v2.31.0-beta.0 and beta.1 2020-09-13 15:27:40 +03:00
Dragory 96f97c78c0
Remove husky/lint-staged
Broke "npm ci" when downloading the zip instead of cloning.
2020-09-13 15:25:02 +03:00