* fix: removed duplicate checkContent call in addMessage
addMessage is called in one place (sendMessage), and the checks
are already contained there. addMessage is the lower level call
and so should be called only from within core itself.
* feat: #7330 chat system messages for join, leave, rename
* fix: add back content checking in .addMessage();
* fix: tests, and added .addSystemMessage() method
Tests were relying on message indices that changed due to the
new system messages.
* feat: add tests for system chat messages
* refactor: rewrite half of src/messaging/rooms.js, fix tests
* feat: #7743 messaging/room.js
* fix: tests for messaging/room.js, #7743
* fix: trying to fix tests
* fix: omg :rage2:
This is an old check back when the sorted set that messages were
appended to depended on what users were in the chat room. Once
messages were refactored (in 2017) to use roomIds, this is no
longer a limitation of the platform and users should be free to
talk to themselves all they want.
* feat: added new admin option newbiePostEditDuration
Also:
- Grammar-checked a couple language strings
- Moved a couple form inputs around in new user restrictions
- Added a test for the new option
- fix: 'defore' typo
* feat: add enable/disable checkbox for plugin usage
* feat: submit plugin data to packages.nodebb.org
only submit in production mode
submit once every 24 hours
dont submit for plugins that have "private": true in plugin.json
enabled on new installs
disabled on existing installs
* fix: hash not working after first send
fix statusCode
* fix: remove url
* feat: show compatibilty
* feat: add install question for submit plugin usage
* feat: design revamp of ACP events page
- minor UX changes
- new filter controls, filters moved to sidebar
- form usable without js
- start/end filters NOT programmed yet
* feat: events ACP limit by date and perPage
* feat: pre-fill applied filters on template render
* fix: missing translation for ACP events perPage filter
* fix: added some comments to explain setHours behaviour
* fix: stop - start + 1
* fix: socket tests
* fix: +inf, not just inf
* fix: tests, because I am an idiot
* fix: #7604 shortened CTA text and added custom text for some notifs
Specifically, new-reply and new-chat have different CTA text as they
do not go to the forum home like other email templates send users to.
* fix: minor optimization as suggested by @barisusakli
* feat: ability to copy a groups privileges
ability to copy a group's privileges to all categories, or children of current category
* feat: switch to dropdown
added copy from category to groups
* fix: indents
* feat: re-designed digest
Updated design, logic no longer shows "no topics", just doesn't
show the list at all, teaser re-retrieved for digest so that it
always grabs a teaser even if there is no reply, changed default
email background to a light grey.
* fix: minor padding issues in digest
* fix: banned template
* fix: invitation.tpl
* fix: removed unused notif_chat and notif_post email templates
* fix: notification template
* fix: registration_accepted template
* fix: reset tpl
* fix: test tpl
* fix: email verify tpl
* fix: reset notify tpl
* fix: welcome tpl
* fix: additional minor font fixes
* fix: removed unused email header image assets
* fix: internationalised 'your daily digest' string
* fix: broken url in digest 🤦
* feat: added RTL support for emailer
/cc @PostMidnight
* feat: wip, category watch change
* feat: pass data to client
* feat: allow changing state
* fix: account page categories
* fix: show in unread if topic is followed or category is watched
* feat: add default watch state to acp
* feat: save user category watch state
* feat: update unread recent pages
* fix: remove dupe code
* fix: flip conditions
* fix: handle empty arrays
* fix: ignore/watch on others profile
* feat: upgrade script for category states
if there are any users ignoring categories set their state in new zset and delete cid:<cid>:ignorers
* fix: upgrade
* fix: tests
* fix: redis count
* fix: more tests
* add probe image size and max image size
* replace jimp and image-probe with sharp
* better name for test
* resize with just path
* resize thumb inplace
* use filename
* [test/database/list] Fix test list 4 being used in two different tests
* [database/postgres] PostgreSQL database driver
* [database/postgres] Make transactions work based on continuation scope.
* [database/postgres] Implement nested transactions
* eslint --fix
* Add database changes from earlier this week to the PostgreSQL driver.
* Fix typo
* Fix postgres.incrObjectFieldBy returning undefined instead of null when given NaN
* [database/postgres] Fix sortedSetsCard returning an array of strings.
* Update socket.io postgres adapter
* Fix PostgreSQL erroring when multiple updates are made to the same sorted set entry in a single operation.
Add a test case to catch this error.
* Fix lint errors.
* Only prune sessions on one instance in a cluster to avoid deadlocks.
They're caught and handled by the database server, but they spam the logs.
* Fix arguments.slice.
* ACP quick actions
- Moved restart, build & restart, and logout into separate buttons
- Moved buttons on mobile into the side menu
- Added version and upgrade alert to header / mobile menu
- Moved version checking to server-side with a cache for rate limiting
- Changed "reload" translations to "rebuild and restart"
* Change info alert to black-on-white to match focused search bar
* Fix tests
* Fallback for failed fetch of latest version
- Added chat room management (instead of tagsinput)
- Chat leave button in chat options dropdown
- Refreshing participants when user is added
- Updated autocomplete module so that it can be shown above a modal
(z-index 100005 > 20000)
- Using cant-chat-with-yourself source string, which wasn't defined
before, but was still used
- Seperate section for "Post Length" settings
- New section for settings that only apply to new users
- Changed order of some settings under "posting restrctions" and "new user restrictions"
- Uncapitalized words that shouldn't have been capitalized
* ability for users to choose how they receive notifications
add type field to more notifications, the type field is used to
determine what to do based on user
setting(none,notification,email,notificationemail)
* change var name to types
* cleanup
* add event types for privileged users
* remove unused language keys
* fix uids check
* changed if statements
* upgrade script to preserver old settings