Commit Graph

437 Commits (8368c25b1d548763a08999d3ccdaa5c3d445ec42)

Author SHA1 Message Date
Barış Soner Uşaklı ed1223645e feat: send notification to group owners when someone leaves
Barış Soner Uşaklı babb9d7c55 fix: , dont allow urls in fullname/location, validate birthday
Barış Soner Uşaklı 5b8550f060 fix: time cutoff and lang string
Opliko b9583ed838 Add privilege for accessing user information ()
* Add view users info global privilege

* Show user ip only to global mods and admins

* fix missing comma

* Hide link for users without correct privilege

* move getting privilege information to getAllData

* Hide the link from Global Moderators as well

* Give Global Moderator view:users:info privilege

* Restrict ip in post menu to view:users:info

* add some trailing commas....

* Add privilege to categories test

* Add group privilege to categories test

* add upgrade script

* fix style for TravisCI

* more styling - change spaces to tabs

* some more styling fixes (hopefully final one)

* fix style for Travis CI

* hide ip in chat messages

* Don't show even hidden ips on user profile page
Barış Soner Uşaklı 2a5fe2b8f4 fix: , translate log in to view
Julian Lam 1796b65d34 feat: option to restrict group leaving, closes
Barış Soner Uşaklı 547bb4966d fix: , show correct title based on digest interval
Barış Soner Uşaklı 21e81f961c fix:
Barış Soner Uşaklı 3ff6e1bb64 feat: dashboard stats
show
yesterday/today
lastweek/this week
lastmonth/this month
Julian Lam 1a2a381ae3 feat: notification on membership acceptance, closes
Barış Soner Uşaklı 7162051905 fix:
Barış Soner Uşaklı 47e30a67be feat: move group privs above user, add labels
Barış Soner Uşaklı 6a289fbac9 fix:
Julian Lam 4fb271c684
System chat messages ()
* 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:  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:  messaging/room.js

* fix: tests for messaging/room.js, 

* fix: trying to fix tests

* fix: omg :rage2:
Julian Lam 0e8ee31b90 fix: removed check for another user when sending messages
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.
Barış Soner Uşaklı 53e1b349ae
Change post owner ()
* feat: , allow array of keys for setObject

* feat: sortedSetRemoveBulk

* feat: test for bulk remove

* feat: , ability to change post ownership

* feat: , fix tid:<tid>:posters

* feat: , front end

* fix: , psql methods

* fix: add missing await

* fix: maybe psql
Julian Lam 8a6a58ee43
feat: added new admin option newbiePostEditDuration ()
* 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
Baris Usakli ee4d78cae3 feat: closes
Barış Soner Uşaklı f24c14d712 feat: ability to sort watched topics, closes
Barış Soner Uşaklı b53a60c278 feat: show best & latest posts on profile
Barış Soner Uşaklı 25ea634787 fix: add option to change cookie link url
Barış Soner Uşaklı 5fa5e999f8
Plugin metrics ()
* 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
Julian Lam c7f95ccecc
feat: design revamp of ACP events page ()
* 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
Barış Soner Uşaklı 4b843ba16f fix: , allow invite and approval at the same time
Julian Lam 868dedd194 revert: accidental removal of some needed translation source strings
Julian Lam 5cd9e1bf86 fix:
Barış Soner Uşaklı 157b921e14 fix: , make strip exif configurable
Julian Lam f552cea523
fix: , removing nbsp from email CTAs ()
* fix: , removing nbsp from email CTAs

* fix: added right arrow to CTA button
Julian Lam b32da57faf
fix: shortened CTA text and added custom text for some notifs ()
* fix:  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
Barış Soner Uşaklı dfab231afd
Copy group privs ()
* 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
Julian Lam 4f0dc44307 fix: updated chat and post edit and delete timeout labels in ACP
Baris Usakli cf5aeace6b feat: closes
Julian Lam c38db4f765 feat:
This reverts commit 81f8cfe3da.
Barış Soner Uşaklı 81f8cfe3da Revert "feat: #7515"
This reverts commit ac889db16b.
Barış Soner Uşaklı ac889db16b feat:
Barış Soner Uşaklı 2ee2cd528f feat:
Julian Lam 63e16ec0a2 fix: , email throttling options set
Andrew Rodrigues 24dcae2193 feat: manual password expiry. closes
Baris Usakli 7211dde7b9 feat:
Barış Soner Uşaklı 2b6f1a05bf feat: admin/groups style change
Barış Soner Uşaklı db47753877 feat: add process cpu usage to admin
Julian Lam 6f272e3474 fix: removed notification subheader translation string
Julian Lam f32a992237
feat: revamp email templates to be more style agnostic ()
* 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
Barış Soner Uşaklı 8a0e1280d6 feat: quick search
Julian Lam 57069a5c48 fix: better handling for errors in Adv>Databases
Barış Soner Uşaklı c01d43e01d feat: quick search
Julian Lam e8f3c25676 fix: re-introducing indeterminate checkbox state to ACP privs
Julian Lam 0c09b7402d feat: logging password resets and errors into event log
closes , also adds tests for password reset socket calls
Barış Soner Uşaklı 70d9c6c4ce fix:
Barış Soner Uşaklı c72da5595a fix:
3 new global privileges
view:users
view:tags
view:groups
Barış Soner Uşaklı 9d1fcf4e36 fix: closes
Julian Lam df6f75eb05 fix: privilege header misalignment
Barış Soner Uşaklı cf918078e5 fix:
Julian Lam 8ceb35f537 fix: Flags graph label not translatable
Julian Lam 51b5fb9826 fix: added missing translation and error state for password change
Baris Usakli f4ea2c43ab feat:
Barış Soner Uşaklı eb7ae54f81
Category watch state ()
* 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
Julian Lam 33d4956b76 fix: , server-side protection against guest blocks
Barış Soner Uşaklı e55fb43703 fix:
Julian Lam ed46c5e24b fix: refreshing settings page on save if language changed
Baris Usakli 96c1dc6276 unescape email subject
Barış Soner Uşaklı 6330d51446 less derpy output
Barış Soner Uşaklı ed1bf9a16f add more info to advanced db page
Barış Soner Uşaklı 2c5e38d8f1 closes
do not translate email subjects twice, emailer already translates the passed in subject param
Barış Soner Uşaklı 4da3d820d5 remove lang strings
Peter Jaszkowiak 57b39d5ba2 fix(acp): small UI fixes for ACP privileges category selector ()
- Add dropdown chevron
- Change translations
- Safety against `category` not an object
Barış Soner Uşaklı b6771836cf closes
Barış Soner Uşaklı 973b5fcfe0 closes
Julian Lam 5ccdc1c017 internationalising english labels in session time ACP block,
Barış Soner Uşaklı 2e579ee0f9 closes
Julian Lam 4919e9efa3 feat: allow disabling of GDPR features via ACP toggle, closes
Barış Soner Uşaklı 9c03881d5a add threshold for image resizing
Barış Soner Uşaklı 9f36ce3997
Barış Soner Uşaklı ab7657d445 closes
Baris Usakli 71905bb2c6 fix watched categories
Barış Soner Uşaklı 77beaf2e15
Allow local login,closes ()
* WIP

* reset groups cache after every suite
Baris Usakli edefab1d69 closes
add option to disable a category on creation
show disabled categories on manage privileges
Baris Usakli 90f3e1281d up markdown
Barış Soner Uşaklı b7ead6dc9c
Replace jimp with sharp ()
* 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
Barış Soner Uşaklı 669a5135e1 closes
Julian Lam c2c925cacd closes
Andrew Rodrigues 12940b577b closes
Barış Soner Uşaklı 14d810c113 show error if cropper fails
Ben Lubar 33228bb7fe PostgreSQL database driver ()
* [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.
Jimb Esser 3cccbbc1f2 Add option to enable/disable HSTS
Also fix HSTS middleware being added twice.
Barış Soner Uşaklı 1c286e4536 not even used
Julian Lam 7dfe953526 closes
Julian Lam 506467ad6f closes
Ben Lubar f1a6537fc2 Add notification frequencies from nodebb-plugin-upvote-notifications. ()
* Add notification frequencies from nodebb-plugin-upvote-notifications.

https://github.com/boomzillawtf/nodebb-plugin-upvote-notifications

* Fix editing settings clearing upvote notification preferences.
Barış Soner Uşaklı 85a55d1740 closes
Barış Soner Uşaklı cfb9784527 closes
Julian Lam 7a53fa9469 Added block and unblock button to profile dropdown menu,
Barış Soner Uşaklı 9912c400b6 closes
Julian Lam 5cf662e565 closes
Barış Soner Uşaklı 57b7c7ede4 closes
Julian Lam cb3b2bd27b closes
Julian Lam 99dc3feeb2 Edit history is now a category-level privilege
Closes 
Julian Lam f51bab5d86 fixing incorrect moderate privilege label and pushing to tx config
Barış Soner Uşaklı 14f6e74bad closes
Barış Soner Uşaklı d5e85c2eb3 closes , closes
Barış Soner Uşaklı b0dad9bd7f closes
Barış Soner Uşaklı 6940612688 closes
Barış Soner Uşaklı 5bb908b836 fix lang strings
Barış Soner Uşaklı 6eea11a4fd closes
Barış Soner Uşaklı a7267df404 closes
Julian Lam 87a5e777f1 closes
Julian Lam 8e275df803 closes
Barış Soner Uşaklı 1f8b000530 log and show last restart on ACP dashboard
Julian Lam 3b9f246b38 updated right to erasure description
Julian Lam 43ffe3f9b5 updated text and fallbacks for
Julian Lam a08572b800 kick support for chats,
Julian Lam dc386b5b23 Merge branch 'master' into user-blocking
Julian Lam 4bac78a568 wrapping up basic blocking UCP for
Julian Lam 8db98b5cf4 additional UCP integration for
Julian Lam 3951bb9532 Merge remote-tracking branch 'origin/master' into user-blocking
Julian Lam 7089e5c6a6 Merge remote-tracking branch 'origin/master' into develop
Julian Lam f0f30041f5 re:
Andrew Rodrigues 1c09094011 show success alert + rebuild msg when ordering plugins
Julian Lam ca932d30d2 basic UCP integration
Andrew Rodrigues a3224cc4ba added missing language key
Julian Lam 777d9aeee6 implement proper file sorting by mtime in ACP uploads
Julian Lam 388765bdf9 added post usage column to uploads ACP page
re: 
Julian Lam 364ded4f8e Merge remote-tracking branch 'origin/master' into develop
Barış Soner Uşaklı 501d02220c closes
Julian Lam a4dc62c7c7 closes
Julian Lam 67dec83011 profile export for + integration
Barış Soner Uşaklı ef99ef86a4 fix lang-key
Barış Soner Uşaklı 927537c759 add private upload info
Julian Lam 8e822c7772 Added user consent pages ()
- "Your Rights & Consent" user settings page
Barış Soner Uşaklı 7cd004ca23 user uploads route
Barış Soner Uşaklı ddd3dfc7f0 Merge remote-tracking branch 'refs/remotes/origin/master' into develop
Julian Lam c6c31e9e5f a tiny bit of work to make our casing a little less insane
Julian Lam 13a3f44ed3 closes
Barış Soner Uşaklı 47606c8df5 merge
Barış Soner Uşaklı 0070f5c1b2 Merge remote-tracking branch 'refs/remotes/origin/master' into develop
Julian Lam 697699f969 updated password reset send success text
Barış Soner Uşaklı caf43e3025 closes
Julian Lam 113fed05d8 closes
Julian Lam c1aa46c663 added new option to disable post diffs /cc @BenLubar
Barış Soner Uşaklı 749b282cdd add matchwords to search api
Timothy Fike 585d613d4b fix reload actions ()
* fix reload actions

* wait until restart action is complete instead of using timeouts.

* Change Reload nominclature to Rebuild and Restart.
Julian Lam 0158b1aa91 Various password logic fixes on client and server-side
Fixes 
Fixes 
Barış Soner Uşaklı 5281b84521 add missing translation
Barış Soner Uşaklı ae0f1847ae allow multiple origins for access-control-allow-origin header
add access-control-allow-credentials header to acp
Peter Jaszkowiak eaae5b52cd ACP quick actions ()
* 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
Barış Soner Uşaklı dcb6af5768 closes
Julian Lam a126f07471 closes
Andrew Rodrigues 5602092de9 closes
Julian Lam a86d91a552 wrapping up post history work
Julian Lam 55788382ea Merge remote-tracking branch 'origin/master' into develop