Julian Lam
9be5629458
feat(writeapi): topic follow/ignore
4 years ago
Julian Lam
da25ce4d09
feat: topic delete/restore/purge/(un)pin/(un)lock
4 years ago
Julian Lam
675a62dadd
fix: remove debug log
4 years ago
Julian Lam
5fc7e7bfd0
feat: add new api page to ACP menu
4 years ago
Julian Lam
49652e6f1b
feat: management of API tokens via ACP
4 years ago
Julian Lam
8e89f34dbf
fix: bad logic in group assertion middleware
4 years ago
Julian Lam
8e7baac6ef
fix(writeapi): calls to profile editing routes 200 even if user DNE
4 years ago
Julian Lam
7757f965eb
fix: errors thrown if no password sent in to profile edit route
4 years ago
Julian Lam
549ca11056
fix: bug where middlewares seemingly ran in parallel
4 years ago
Julian Lam
6096f74ab2
feat(writeapi): adding missing files
4 years ago
Julian Lam
4c833d0bf0
feat(writeapi): topic posting and replying
4 years ago
Julian Lam
40dc1c38d3
feat(writeapi): added DELETE /groups/:slug/membership/:uid route
4 years ago
Julian Lam
68ecf41ecf
fix(writeapi): client-side group join API call
4 years ago
Julian Lam
952dc211dd
feat(writeapi): added group joining and deletion
4 years ago
Julian Lam
d044c3223e
feat(writeapi): abstracted ajax calls out to new api module
4 years ago
Julian Lam
ba345e53e8
feat(writeapi): added POST /api/v1/groups
4 years ago
Julian Lam
49994f3a15
fix(openapi): moved write-api to public/openapi
4 years ago
Julian Lam
3072de4812
feat: added DELETE /api/v1/categories/:cid route
4 years ago
Julian Lam
e942ad8101
feat: added PUT /api/v1/categories/:cid route
...
Deprecated admin.categories.update socket call
Showing stack trace in console for errors, when in development mode
4 years ago
Julian Lam
dc666fd8a9
feat: added POST /api/v1/categories route
4 years ago
Julian Lam
a5af2dc819
feat: added PUT/DELETE /api/v1/users/:uid/ban routes
4 years ago
Julian Lam
db5c5b2cfb
fix: follow route to match spec
4 years ago
Julian Lam
b5bbcbaeaa
feat: added POST and DELETE /api/v1/users/:uid/follow routes
4 years ago
Julian Lam
7aed174ebc
feat: added PUT /api/v1/users/:uid/password route
4 years ago
Julian Lam
a1ddc210b2
feat: added DELETE /api/v1/users/:uid and DELETE /api/v1/users
4 years ago
Julian Lam
d15d9e4492
fix(refactor): patching helpers.tryRoute for API routes, some re-org
...
Thanks @barisusakli for the tip
4 years ago
Julian Lam
d8879d21db
fix: error handling with POST /api/v1/users
4 years ago
Julian Lam
58043e07ba
fix: use POST call for user creation in ACP
...
- Not entirely sure about error handling yet, more research needed
- Also added socket method deprecation utility method
4 years ago
Julian Lam
bba2a4638c
fix: user creation POST route returns user data, updated openapi spec
4 years ago
Julian Lam
7b6d43bcc8
feat: added checkRequired middleware for API calls
4 years ago
Julian Lam
fd67355b03
fix(writeapi): authenticate middleware logic to work better with await
4 years ago
Julian Lam
f6433ef2c5
fix(refactor): merging write-api auth middlewares with core middlewares
4 years ago
Julian Lam
ec5c48b188
feat: migrating write-api skeleton into core
4 years ago
Barış Soner Uşaklı
264818e517
fix: use proper api url
...
no need to parse all tags since https://api.github.com/repos/NodeBB/NodeBB/releases/latest gives the latest non-prerelease, non-draft releases
4 years ago
Barış Soner Uşaklı
8eb62e2210
fix: tests, get latest release tag recursively
4 years ago
psychobunny
cdb794888d
style: linting
4 years ago
Barış Soner Uşaklı
ed092bf6b5
refactor: remove posts.tools.purge
...
moved the check to socketPosts.purge
4 years ago
Julian Lam
dde5b6b814
fix: unable to register async method as response hook listener
...
Also fixes #8723 , /api/config now runs middleware.authenticateOrGuest
4 years ago
Barış Soner Uşaklı
cb2f6f7c4a
fix: test
4 years ago
Barış Soner Uşaklı
7bf6d3b8eb
fix: dont let mods load postqueue for a cid they are not a mod of
4 years ago
Barış Soner Uşaklı
2ea9768e00
fix: show disabled categories in admin&mods
4 years ago
Barış Soner Uşaklı
fbd85680fb
fix: spec
4 years ago
Barış Soner Uşaklı
5d9a868142
feat: category filter on post queue ( #8710 )
...
* feat: category filter on post queue
category filter module
* feat: add spec
4 years ago
psychobunny
7545951725
chore: refactor src/emailer.js
4 years ago
Peter Jaszkowiak
1aa336d837
refactor: shared constants ( #8707 )
...
define plugin name and theme name regexs in one location for consistency
define various shared paths in one place for consistency
4 years ago
Barış Soner Uşaklı
e60357d20d
feat: #6594 , add top/popular sections to digest email ( #8709 )
4 years ago
Peter Jaszkowiak
55d5cccf2e
Document deprecations and remove old ones ( #8706 )
...
* chore: document deprecation removal versions
* chore: remove deprecations 2+ versions old
4 years ago
Peter Jaszkowiak
017af63fb0
fix : #8686 , deprecate `plugin.json/library` ( #8705 )
...
and also fix deprecated hooks with no alternative
4 years ago
psychobunny
5441651ea7
fix: update "install plugins" link to go to the download tab
4 years ago
Julian Lam
38f88fc563
fix : #8699 tags route is case sensitive, though tags are not
4 years ago
psychobunny
f4d76f1edd
feat: move service-worker.js into its own file
4 years ago
psychobunny
14ba1a6dbb
feat: analytics:maxCache setting in ACP
...
I removed a TODO from core. Watch your head as flying pigs are abound
4 years ago
Julian Lam
7f58e3ab09
fix: error on `reset -p` if plugin is not active
...
No need to throw error if plugin was not active, just silently OK
4 years ago
Renovate Bot
1e5621c049
fix(deps): update dependency sanitize-html to v2
4 years ago
psychobunny
9c5b690799
feat: up recommended size to 512x512 + ACP labels for PWA
4 years ago
psychobunny
6478b32d0e
feat: upload maskable icon for PWA
4 years ago
Julian Lam
b12e8d6312
feat: show top 5 trending plugins in new tab in Extend > Plugins
4 years ago
Julian Lam
07af621381
fix: typo in getCompatiblePlugins
4 years ago
psychobunny
54705cc432
fix: typo
4 years ago
psychobunny
5172d73137
feat: add theme-color meta tag for browser address bar
4 years ago
psychobunny
f69697b3fa
feat: basic service worker, minimum requirement for for a2hs; see #8126
4 years ago
psychobunny
31528a5202
fix: manifest - use absolute URL for start_url
4 years ago
psychobunny
46800b6639
fix: prefer webmanifest extension over json
...
https://w3c.github.io/manifest/#media-type-registration
4 years ago
psychobunny
4fc84e9f5c
chore: lint notifications.js
4 years ago
psychobunny
5b427a0c3b
feat: option in ACP to configure notification/email delay for chats
4 years ago
Timothy Fike
f85fe7faff
don't invite an already invited email ( #8688 )
...
* don't invite an already invited email
* add email-invited translation string
4 years ago
Timothy Fike
5078a8df25
ttl/pttl ( #8689 )
4 years ago
Barış Soner Uşaklı
16039b1117
refactor: post edit
4 years ago
psychobunny
b6f2f0e5d0
fix : #8681 change owner modal's search should check if user is banned
4 years ago
Julian Lam
5ddf70221c
feat: upon plugin installation via ACP, check against nbbpm first
4 years ago
Julian Lam
0fffe28941
fix: issue where the last flag filter could not be removed
4 years ago
Barış Soner Uşaklı
83d4e7efaa
feat: add number of posters to topic
4 years ago
Julian Lam
81595095da
feat: allow plugins to override tags and tag counts
4 years ago
Barış Soner Uşaklı
bbf6889ecc
fix: topic count on category page if filter is author
4 years ago
Barış Soner Uşaklı
ac43cd8b6f
fix : #8665 , trim email before checking validity
4 years ago
Barış Soner Uşaklı
e72fe25920
fix: editing posts saving uncessary data
4 years ago
Barış Soner Uşaklı
4f14dc7a58
fix : #8640 , add bookmarks to intFields
4 years ago
Barış Soner Uşaklı
af43f0e48e
fix : #8656 , rename /api/me to /api/self
4 years ago
Julian Lam
43571bac38
feat: hotkey "/" to open ACP search
4 years ago
Barış Soner Uşaklı
22cd265434
fix: tests
4 years ago
Barış Soner Uşaklı
220297d501
fix: use correct topic count for category
4 years ago
Barış Soner Uşaklı
437424375e
feat: expose calculateTopicPostCount and getChildrenTree
5 years ago
Julian Lam
4fca79380a
fix: tests, because redis is TOO FAST
5 years ago
Julian Lam
29b357bc66
refactor: expose new method for appending moderation note
5 years ago
Barış Soner Uşaklı
de824007d9
feat: allow custom req.query.filter on /unread /recent
5 years ago
Barış Soner Uşaklı
38d3982bf1
fix : #8418
...
allow updating other profile fields when username isnt being changed
5 years ago
Barış Soner Uşaklı
4be693f2e7
feat: fullname search ( #8641 )
...
* feat: fullname search
* fix: take last element
* fix: attempt to fix psql like query
* feat: upgrade sript, another fix attempt
* fix: psql test
* fix: psql scan
* feat: add debug for test
* feat: test collate
* feat: cleanup
* fix: upgrade script
5 years ago
Julian Lam
0891236142
fix: typo
5 years ago
Julian Lam
7e7366be13
fix: remove toolsVisible in post tools' menu [breaking]
5 years ago
Barış Soner Uşaklı
65d049c6f9
fix: tests
5 years ago
Barış Soner Uşaklı
2d5bd153e0
fix: check if unread_tids are followed
5 years ago
Barış Soner Uşaklı
c1c617b323
feat: add topicIndex to category page
5 years ago
Barış Soner Uşaklı
a78e1df965
fix: use text-right
5 years ago
Barış Soner Uşaklı
5a40d26b44
feat: #8626 , new move posts modal
5 years ago
Barış Soner Uşaklı
a34b685c65
fix: remove lang keys, remove sounds menu
5 years ago
Barış Soner Uşaklı
5f10d67db5
Remove sounds ( #8617 )
...
* feat: remove sounds
* feat: remove more sounds
* feat: disable sounds plugin
* fix: openapi
5 years ago
Barış Soner Uşaklı
4bace773f9
fix: wider widget area
5 years ago
Barış Soner Uşaklı
19c448612d
feat: remove global RELATIVE_PATH
5 years ago
Barış Soner Uşaklı
46ab2711d4
fix : #8432 , add CSP frame-ancestors
5 years ago
Barış Soner Uşaklı
6fc31df033
feat: use const/let
5 years ago
Barış Soner Uşaklı
4588e52120
fix: allow setting maximumAboutMeLength to 0
5 years ago
psychobunny
a38784f567
fix: additional commit for CF rocket loader
5 years ago
psychobunny
4d6659553b
feat: allow nbb to work with cloudflare rocket loader 🚀
5 years ago
Barış Soner Uşaklı
53a5f1516e
feat: move code
5 years ago
Barış Soner Uşaklı
b6917b9dee
feat: #8602 , dont send emails to unconfirmed addresses
5 years ago
Barış Soner Uşaklı
94da9fe55e
feat: add partials/footer/js.tpl
...
add ajaxify.coldLoad which gets called from partials/footer/js.tpl
5 years ago
Barış Soner Uşaklı
4031a8cab1
fix: stack trace
5 years ago
Barış Soner Uşaklı
54b497258f
feat: add missing name to profile image upload
5 years ago
Barış Soner Uşaklı
b0a759223d
feat: add action:user.removeCoverPicture
5 years ago
Barış Soner Uşaklı
962446a5ac
feat: add user data to action:user.removeUploadedPicture
5 years ago
Barış Soner Uşaklı
9542ef1285
feat: add userData to action:user.delete
5 years ago
Barış Soner Uşaklı
a263897627
fix : #8604
5 years ago
Barış Soner Uşaklı
1e5981c0d6
feat: replace relative urls to absolute before sending email notifs
...
https://github.com/NodeBB/NodeBB/pull/8366/files
5 years ago
Julian Lam
f743f92088
refactor: socket posts delete/restore/purge so tid is not necessary ( #8607 )
...
* refactor: socket posts delete/restore/purge so tid is not necessary
* refactor: stop trying to be fancy
* fix: tests to not pass in tid into posts.deletePosts
* fix: some more unnecessary tid passing
5 years ago
Julian Lam
0c20351702
feat: additional sorting options for flags
...
+ upvotes, +downvotes, +replies
5 years ago
Barış Soner Uşaklı
896fe9d65e
fix: don't crash on outdated redis instances
5 years ago
Julian Lam
0e58d2b866
fix: update post-queue hook names
5 years ago
Julian Lam
8cc36de284
feat: new filter hook prior to post queue addition
...
filter:post.queue
5 years ago
Julian Lam
a9dfc9a74e
feat: add replies to getPostSummaryByPids
5 years ago
Julian Lam
e0c7d65a92
Revert "feat: add reply count to getPostSummaryByPids"
...
This reverts commit de0f4aadb8
.
5 years ago
Julian Lam
de0f4aadb8
feat: add reply count to getPostSummaryByPids
5 years ago
Barış Soner Uşaklı
9f9164a9be
fix : #8582
5 years ago
Julian Lam
56101ae5ae
fix: ip-blacklist not working after #8580
5 years ago
Kyle Farris
2b785628e7
fix: removed invalid options for the sendmail transport ( #8576 )
...
* Removed invalid options for the sendmail transport that were causing Nodemailer to return the SMTPTransport instead.
* Removed options for rate limiting in admin email interface. Added new option for toggling whether to use pooled connections.
5 years ago
Julian Lam
b6b94a56dc
refactor: moved ip-blacklist and post-queue styles/tpls to themes
...
This is a breaking change!, re: #8580
5 years ago
Julian Lam
a4dbbc3749
feat: sort dependencies alphabetically
...
... when merging from install/package.json
/cc @pitaj
5 years ago
Barış Soner Uşaklı
55533b11e5
fix: dupes in unread followed topics
5 years ago
Barış Soner Uşaklı
39f4bbaa0e
fix: wrong data passed to getCategories
5 years ago
Barış Soner Uşaklı
354e6ccc66
feat: banning a user will resolve their post flags
5 years ago
Barış Soner Uşaklı
91d9333a50
fix: username, email history disappering if content was deleted
5 years ago
Julian Lam
840cb5105f
fix: package-install clobbering scoped nodebb plugins
5 years ago
Julian Lam
4b0cb26b34
fix: empty "manage" menu showing in ACP
...
... if no privileges corresponding to those menu items
are given
5 years ago
Julian Lam
cc2686057c
fix: hide nodebb version in ACP for non-superadmins
5 years ago
Julian Lam
cf2f1e956a
refactor: changed way middleware was exported
5 years ago
Julian Lam
f00595b32d
fix: change how admin middlewares are exported
5 years ago
Julian Lam
ae68a254d7
fix: one less return, to appease codeclimate
5 years ago
Julian Lam
03bd76dea2
fix: inability to access /admin if not superadmin
...
There was an odd issue where non-superadmins could not use
the /admin route to access the ACP, even though they had
appropriate access. For whatever reason, it could not
be reliably reproduced on my dev. As it turns out, the
reason was because I was checking the wrong privilege,
and my dev database had this wrong privilege leftover
from the initial development of the ACP admin privileges
feature. Dumb.
Anyhow, that fixes this issue.
5 years ago
Barış Soner Uşaklı
29e3ab247d
fix : #8560 , fix old upgrade script
...
db.connect no longer exists at the root
5 years ago
Julian Lam
6521e4dac4
Revert "feat: expose global/admin privileges to all routes"
...
This reverts commit 4737f937ee
.
5 years ago
Julian Lam
4737f937ee
feat: expose global/admin privileges to all routes
...
@barisusakli revert if necessary 😬
5 years ago
Andrew Rodrigues
7daba7ddc1
fix : #8570
5 years ago
Julian Lam
3efe2362e2
fix: sorting the flags list by newest is not considered a filter
...
... as it is default
5 years ago
Julian Lam
334be11382
fix: no-widgets messaging in ACP + copy
5 years ago
Julian Lam
346db0d84d
feat: flags list sorting, closes #8569
5 years ago
Julian Lam
cabe62a06c
fix : #8568 perPage not acting like a filter
5 years ago
Barış Soner Uşaklı
35a538ec2a
feat: allow adding multiple users to group
5 years ago
Barış Soner Uşaklı
f1e82b6441
feat: add filter:group.getOwnersAndMembers
5 years ago
Julian Lam
9c70b6620e
feat: pass uid into filter:flags.list
5 years ago
Barış Soner Uşaklı
31c2b7d946
fix : #8562
5 years ago
Julian Lam
2adae87949
fix: progress bar clobbering upgrade script name
5 years ago
Julian Lam
ac75c9a052
fix: tweak upgrade script progress bar to only update 100 times in total
5 years ago
Julian Lam
80a2a700ce
fix: navigation title unescape upgrade script tweak
5 years ago
Julian Lam
7456a0e34e
fix: new language key for error handling
5 years ago
Julian Lam
de8eebbd7c
fix: upgrade scripts not run properly if schemaDate is present
...
Only affected VERY old installs that don't use schemaLog
5 years ago
Barış Soner Uşaklı
0189945996
refactor: remove util.promisify calls
5 years ago
Barış Soner Uşaklı
bfaf648ec3
fix : #8556 , catch errors from admin check
5 years ago
Barış Soner Uşaklı
326827382a
fix: upgrade script for 1.15.0
5 years ago
Barış Soner Uşaklı
846b7d2430
refactor: change pwd change logic
...
add one more test
5 years ago
Julian Lam
16cee1b03b
fix: improper targetUid check during password change
5 years ago
Julian Lam
0903eb4b8c
feat: limit privileges column to superadmins only
5 years ago
Peter Jaszkowiak
1d170e0c1c
fix : #8547 , remove old deps during upgrade ( #8557 )
5 years ago
Julian Lam
12edd18b46
feat: use nodebb-scoped bootswatch
...
closes #8527
5 years ago
Barış Soner Uşaklı
6e91885836
feat: use assetBaseUrl instead of hardcoding
5 years ago
Barış Soner Uşaklı
3f01f4a2b8
Revert "feat: load timeago strings client-side"
...
This reverts commit 558a2d739c
.
5 years ago
Julian Lam
558a2d739c
feat: load timeago strings client-side
...
9adaccd036
introduced the ability to
configure an assetBaseUrl, but the timeago strings were still
calling a hardcoded value as it was handled server-side. There's
no need for the strings to be loaded until timeago is initialised.
5 years ago
Julian Lam
9adaccd036
feat: +assetBaseUrl, -l10BaseUrl, -requireBaseUrl
...
Additional base URLs were necessary for benchpress and translator,
and in order to not clutter the API response with needless one-
time use base URLs, I decided to use a single base that is used
by all of the services, assetBaseUrl.
5 years ago
Barış Soner Uşaklı
33c5988c34
refactor: rewrite src/upgrade.js with async/await
5 years ago
Barış Soner Uşaklı
231d34d0aa
fix: upgrade script
5 years ago
Barış Soner Uşaklı
8887f0edaa
fix: don't allow duplicate upgrade script names
5 years ago
Julian Lam
9e3fd0e479
Revert "feat: #8493 , plugin helper for standardised link/button injection"
...
This reverts commit 0bbb813e4b
.
5 years ago
Sam Thompson
0bbb813e4b
feat: #8493 , plugin helper for standardised link/button injection
5 years ago
Julian Lam
9f3b78118a
fix: send hard 404 instead of soft 404 for missing modules
...
We used to send a soft 404 because require.js would error out on
a 404, but it seems years ago, error handling was added to the
require() call, so a hard 404 will not throw errors to the console
5 years ago
Barış Soner Uşaklı
d6baf5c278
feat: show event/params on error
5 years ago
Julian Lam
68f8d6e3a1
fix : #8549 send 308 Permanent Redirect on topic/category shortlinks
5 years ago
Julian Lam
def16f9e97
feat: introduce overridable l10nBaseUrl config value
5 years ago
Barış Soner Uşaklı
2c35d0ba87
refactor: change incrementViewCount and markAsRead to async/await
5 years ago
Barış Soner Uşaklı
dfabd0a3fe
feat: remove administrator property from public routes
5 years ago
Barış Soner Uşaklı
774e5d0429
feat: add helmet middlewares
5 years ago
Barış Soner Uşaklı
c39c51139b
fix: remove default helmet
5 years ago
Julian Lam
a716a5529c
feat: more discrete commit-on-save instead of commit-on-change w/ confirm modals ( #8541 )
...
* feat: privileges save button, #8537 , WIP
* fix: disable firefox autocomplete on privilege form fields
* feat: closes #8537 privilege changes commit on save
- new language strings for confirmation and success modals/toasts
- indeterminate privilege handling (/cc @psychobunny)
- added new discard button
- both discard and save buttons now have confirmation dialogs
* fix(tests): remove duplicate template helper test
* fix(tests): broken template helper test
* feat: confirm dialogs for all privilege copy actions
Also, ability to add user to a privilege table without needing
to refresh the privilege table.
* feat: group row addition w/o table refresh
breaking: helpers.getUserPrivileges and helpers.getGroupPrivileges
no longer make socket calls to the following hooks:
- filter:privileges.list, filter:privileges.admin.list,
filter:privileges.global.list, filter:privileges.groups.list,
filter:privileges.admin.groups.list,
filter:privileges.gloval.groups.list
The filters are still called, but done before the helper method
is called, and the results are passed in instead. This change
should only affect you if you directly call the helper methods,
otherwise the change is transparent.
* fix: stale ajaxify data on privilege category switch
* fix: implicit privileges not showing for user privs
* fix: groups, not group, also fix tests
* fix(tests): again
* fix: wrong tpl rendered when adding group to global priv table
5 years ago
Julian Lam
0f10e0836b
fix: remove duplicate configuration for helmet-hsts
5 years ago
Barış Soner Uşaklı
e7a502e0aa
feat: add ability to search groups in group details page
5 years ago
Barış Soner Uşaklı
335169f2b1
fix: don't process invalid topics, fallback to 0 score
5 years ago
Barış Soner Uşaklı
6924a22238
fix: tests
5 years ago
Barış Soner Uşaklı
bb224184d8
fix : #8539 , enforce content checks for post queue
5 years ago
Barış Soner Uşaklı
776e34a80f
refactor: rewrite src/install with async/await
5 years ago
Julian Lam
6c00ec8435
refactor: removed rather redundant flag reporters zset
5 years ago
Julian Lam
0f2b6f1ff7
fix: bug; additional reports could be added by the same user repeatedly
5 years ago
Barış Soner Uşaklı
519e665939
fix : #8538 , go to first unread instead of last read
5 years ago
Barış Soner Uşaklı
0d698a079e
fix : #8533 , validate and retry password during setup
5 years ago
Barış Soner Uşaklı
9e80a9efdd
fix : #8534 , dont show modal on search
5 years ago
Barış Soner Uşaklı
fb7bb8d400
feat: use category selector in category page
...
fix privilege shortcuts in group page after search
5 years ago
Barış Soner Uşaklı
560f3eb173
feat: css fixes
5 years ago
Barış Soner Uşaklı
91411cc47c
feat: add privileges shortcut to groups list
...
fix issues with escape group names
5 years ago
Julian Lam
fcdbdf63a3
refactor: flags object in post tools
5 years ago
Barış Soner Uşaklı
f1974fb900
refactor: pass only needed data
5 years ago
Barış Soner Uşaklı
9f346c53ab
fix: language string
5 years ago
Barış Soner Uşaklı
f89ec20574
feat: allow passing groupName to user.search
5 years ago
Julian Lam
c705e08a76
feat: allow direct link to flag from post tools, #8531
5 years ago
Barış Soner Uşaklı
c4829fd8c2
feat: allow changing requirejs base url
5 years ago