Commit Graph

8950 Commits (ce5fea2abd730a61e3a14d325a31a79da131f035)

Author SHA1 Message Date
Barış Soner Uşaklı 9ce6f8ad93 feat: add tag filter to getSortedTopics
Julian Lam 4c078084dc test: fix spec for topic thumbs
Julian Lam 1d9ade4c36 test: added missing properties to topicObject
Julian Lam b31f6dd24a test: added missing test file
Julian Lam ad54b174a4 test: topic reordering tests
Julian Lam 7223074f1d feat: ability to re-order topic thumbnails
Julian Lam db027170a8 feat: add close button to topic thumbnail modal
Misty (Bot) 2821b917d0 Latest translations and fallbacks
Misty (Bot) 59885a9e2e Latest translations and fallbacks
Misty (Bot) b5b92768e2 Latest translations and fallbacks
Misty (Bot) 3ad25e8ff6 Latest translations and fallbacks
Julian Lam 36e8d251c8 fix: use of removed URL to get post data
Julian Lam 8fd78ce512 feat: post-queue topic event
Misty (Bot) 48a3c4bd2e Latest translations and fallbacks
Barış Soner Uşaklı 3595473485 feat: load user posts/topics via xhr on infinitescroll
Misty (Bot) 3a61ac2119 Latest translations and fallbacks
Misty (Bot) 949f043a96 Latest translations and fallbacks
Misty (Bot) 0092df2c02 Latest translations and fallbacks
Barış Soner Uşaklı 670cde78da feat: add invalid event name to error message
Peter Jaszkowiak cc9d6fd08b chore: eslint max-len
Peter Jaszkowiak 62869bae3d chore: eslint function-paren-newline
Peter Jaszkowiak 9f6a682ca9 chore: eslint no-script-url
Peter Jaszkowiak dad01e3051 chore: eslint no-bitwise
Peter Jaszkowiak 58528d1a3e chore: eslint rules matching existing styles
Julian Lam 16610b2dca fix: pass jquery object in to action:notifications.loaded hook
Julian Lam 7edc8f458d feat: new notifications load/loaded hooks on client side
refactored `toggleTimeagoShorthand` code to be inside of a hook listener
Barış Soner Uşaklı 0cca6893f3 fix: ,
Barış Soner Uşaklı cfa0d42390 fix: don't use global bootbox obj
Barış Soner Uşaklı 550cd995e8 fix: remove console.log
Barış Soner Uşaklı fca17cb713 fix: move service worker back to relative_path/service-worker.js
Barış Soner Uşaklı ab0ef44289 fix: spec
Barış Soner Uşaklı a4878a5b22 fix: markread selector
Misty (Bot) 429cff93ee Latest translations and fallbacks
Barış Soner Uşaklı 3090a2aee4 fix: position when scrolling up
if sorting is newest to oldest scrollTop wont be changed if you are at the top of the page
Barış Soner Uşaklı 47299ea587
Categories refactor ()
* feat: wip categories pagination

* feat: add subCategoriesPerPage setting

* feat: add load more sub categories button to category page

* fix: openapi spec

* feat: show sub categories left on category page

hide button when no more categories left

* breaking: rename categories to allCategories on /search

categories contains the search results

* fix: spec

* refactor: remove cidsPerPage

* fix: tests

* feat: use component for subcategories

* fix: prevent negative subCategoriesLeft

* feat: new category filter/search WIP

* feat: remove categories from /tag

* fix: dont load all categories when showing move modal

* feat: allow adding custom categories to list

* breaking: dont load entire category tree on post queue

removed unused code
add hooks to filter/selector
add options to filter/selector

* feat: make selector modal work again

* feat: replace old search module

* fix: topic move selector

* feat: dont load all categories on create category modal

* fix: fix more categorySelectors

* feat: dont load entire category tree on group details page

* feat: dont load all categories on home page and user settings page

* feat: add pagination to /user/:userslug/categories

* fix: update schemas

* fix: more tests

* fix: test

* feat: flags page, dont return entire category tree

* fix: flag test

* feat: categories manage page

dont load all categories
allow changing root category
clear caches properly

* fix: spec

* feat: admins&mods page

dont load all categories

* fix: spec

* fix: dont load all children when opening dropdown

* fix: on search results dont return all children

* refactor: pass all options, rename options.cids to options.selectedCids

* fix: 

* fix: index 0

* fix: spec

* feat: , add setObjectBulk

* refactor: shoter updateOrder

* feat: selectors on categories/category

* fix: tests and search filter

* fix: category update test

* feat: pagination on acp categories page

show order in set order modal

* fix: allow drag&drop on pages > 1 in /admin/manage/categories

* fix: teasers for deep nested categories

fix sub category display on /category page

* fix: spec

* refactor: use eslint-disable-next-line

* refactor: shorter
Misty (Bot) 73c9c1c25a Latest translations and fallbacks
Julian Lam 67e3fb6498 fix: register returnTo logic to match login route
Login route saves the previous page by checking for the X-Return-To header. This header is automatically set by ajaxify.
Login takes this value and saves it to `req.session`.

Up until now, `/register` saved the previous URL in a hidden input, and redirected based on that value, but it occasionally conflicted with req.session.returnTo. It was also confusing because it did not match how login handled the values.

This commit updates the route handling so it works identically to `/login`.
Misty (Bot) 9576bec6c3 Latest translations and fallbacks
Misty (Bot) 4939837d5b Latest translations and fallbacks
Julian Lam 74be1a5963 chore: fallbacks
Julian Lam 68da1c558f fix: update grammar on unban text
Julian Lam c729adeb08 fix: privileges page - tweak icon position and width, group name wrapping
gasoved 53e0d4d2e0 feat: banned-users group
Julian Lam 4af9c2fcdd fix: autofocus on search field in ACP > Manage > Plugins
gasoved cabec378f4 fix: openapi test specs
gasoved a2a7557cc0 refactor: update dom after diff deletion better
gasoved 4447a64eaa refactor: removed 3 lines
gasoved 72b050b4a8 test: post diff deletion tests
gasoved eb642f40b9 feat: , ability to delete a post's diffs
Misty (Bot) a87416971b Latest translations and fallbacks
Julian Lam 501441b736 feat: add .delete() method to api module
psychobunny 58655e9a0b fix: invalid API call when unfollowing a user
Misty (Bot) 526df41db1 Latest translations and fallbacks
Barış Soner Uşaklı 833c73e81b fix: example
Barış Soner Uşaklı cc560ca3f9 feat: doc add description
Barış Soner Uşaklı ed11e17129 feat: add doc for query param
Opliko 2bc74cffe6
fix: , scope service worker to relative_path for the forum ()
Adds a `Service-Worker-Allowed` header on `assets/src/service-worker.js` URL and uses `scope` option during registration to ensure the service worker is correctly scoped to the entire forum and only the forum.
Barış Soner Uşaklı d1364c3130
Categories refactor ()
* feat: wip categories pagination

* feat: add subCategoriesPerPage setting

* feat: add load more sub categories button to category page

* fix: openapi spec

* feat: show sub categories left on category page

hide button when no more categories left

* breaking: rename categories to allCategories on /search

categories contains the search results

* fix: spec

* refactor: remove cidsPerPage

* fix: tests

* feat: use component for subcategories

* fix: prevent negative subCategoriesLeft
Barış Soner Uşaklı 4c12e0aaf8 fix: update docs
Julian Lam 5131eb6b90 fix: `action:admin.settingsLoaded` to use new hooks lib
Julian Lam b0f5d5a594 fix: crash on firing action hook that had no listeners registered
Julian Lam 1a04ec6419 fix: bug where `action:settings.sorted-list.loaded` fired early
The hook was fired before the elements had been added to the DOM.

Also, I updated it to use the new hooks lib.
Barış Soner Uşaklı a29dd21de4 fix: don't translate message on every ajaxify
Misty (Bot) 195e688bac Latest translations and fallbacks
Julian Lam 4029ec3713 fix: multiple sorted-lists do not save to the correct set
Misty (Bot) 406faf4c66 Latest translations and fallbacks
Julian Lam f8bf9e99c4 fix: pass module name to `static:script.init`, +comments
I feel it is difficult to know exactly what the original use-cases were for these hooks, so some comments may be helpful.
Julian Lam 4bb3b0323d feat: guard password fields in login/register against accidental caps lock
Misty (Bot) 53a6dca3c6 Latest translations and fallbacks
Barış Soner Uşaklı faeb637353 fix: tests remove old routes
Barış Soner Uşaklı 05be1c6603 feat: restore action:script.load, allow modifying loaded module via static:script.init
Julian Lam 8b09292e77 chore: add deprecation notice in comments for ajaxify.loadExtraScripts
Julian Lam 7da1b43f2b fix: script failure if client-side page script does not exist
Julian Lam dc84559d0b feat(topic-events): topic events GET route in write API
Julian Lam 8e93bf7362 feat(topic-events): client-side handling on topic event log
Julian Lam df2fdd56ba fix(topic-events): repeated invocations of Posts.addTopicEvents caused dupes to be added to DOM
Julian Lam 9559fad8ac refactor(topic-events): expose addTopicEvents method in topic posts lib
+ allow it to accept an array of events, or fall back to ajaxify data otherwise
Julian Lam 882e6a159c feat(topic-events): handle newest_to_oldest sort in topic events, WIP
Julian Lam 2293a07a06 feat(topic-events): generic css for timeline-event
Julian Lam 611d1f872d feat(topic-events): support for uids in topic event payloads
Julian Lam ab2e1ecb40 feat(topic-events): work in progress topic events logic and client-side implementation
Julian Lam faf5960373 fix: bug where `action:ajaxify.end` was never called if there were no init scripts
Julian Lam 8e5687a4af refactor(hooks): deprecate `action:script.load` client-side hook
Use `static:script.init` instead.
Julian Lam efff8e2ae2 fix(hooks): bug where hook firing would fail if there were no listeners
Julian Lam e7bd038db1 refactor(hooks): better error handling
Hook listeners can both throw and reject, and it will be handled appropriately (e.g. filters won't fail)
Julian Lam 1d77572117 feat(hooks): update action:ajaxify.end to use new hooks module
Julian Lam 412d285850 fix(hooks): fallback handling for core invocations of hooks.fire
+ .on() which is the same as .register()
Julian Lam 01c9b1847e feat(hooks): client-side hooks module
Similar to server-side, comes with three hook types, filter, action, and static. Behaviour also mimics server-side.
Misty (Bot) 42c0f9ac52 Latest translations and fallbacks
Misty (Bot) 39bc741bca Latest translations and fallbacks
Julian Lam 8b72479f62 fix: remove 'filters' and 'categories' from flag details API return [breaking]
These options were originally used when the flag filters were shown in the sidebar. This has seen been removed, and so the information is now superfluous
Julian Lam 6b1c97db79 feat: feature flag for auto-resolving a user's flags on ban [breaking]
The default behaviour has now been changed to 'off'. Going forward, a user's flags will no longer automatically resolve on ban.
Misty (Bot) a396b1099c Latest translations and fallbacks
Julian Lam b2b1450e5d fix: , render 400 error page on bad access to /register
Misty (Bot) 06e2ef1a8e Latest translations and fallbacks
Misty (Bot) 65849d9b93 Latest translations and fallbacks
Misty (Bot) d1f78cb8c0 Latest translations and fallbacks
Misty (Bot) a55051de2f Latest translations and fallbacks
Julian Lam 966c4117ec refactor(api): post move to write API
Barış Soner Uşaklı 0fa4c11ea6 fix: don't chagne scrollTop if at the top of page
Julian Lam e118e59ce0 refactor(api): post diffs to use write API
Barış Soner Uşaklı 1590cdf19f fix: , fix double escaped arguments
Misty (Bot) a972b5a77a Latest translations and fallbacks
Barış Soner Uşaklı 3d36208877 Merge branch 'master' of https://github.com/NodeBB/NodeBB
Barış Soner Uşaklı 0a471b76b5 fix: use max
Barış Soner Uşaklı c30b40abe7 fix: keep 60 topics minimum on topic list
Misty (Bot) fc3a0bd427 Latest translations and fallbacks
Misty (Bot) a26bfb3fda Latest translations and fallbacks
Julian Lam a407a51da6 fix: missing language strings (and fallbacks) for post-queue
Misty (Bot) d90c7ff43b Latest translations and fallbacks
Misty (Bot) 6c855bf48e Latest translations and fallbacks
Misty (Bot) 96280d76af Latest translations and fallbacks
Barış Soner Uşaklı d83d40cf9b fix: missing error message
Julian Lam 0da2843281 feat(api): schema definition for new credential checking route
Julian Lam 87a7d85e89 fix: missing breadcrumbs in schema
Barış Soner Uşaklı 072a0e32d8 feat: , faster category search dropdown
when you have 4k+ categories manipulating DOM becomes very slow
clone the list and manipulate it outside of DOM, replace list on DOM when search is done
add utils.debounce so list is updated slower
Misty (Bot) afe6d84710 Latest translations and fallbacks
Misty (Bot) ebf1624a90 Latest translations and fallbacks
Misty (Bot) d1700c40e2 Latest translations and fallbacks
Julian Lam e5edbc6faf feat: automatically attempt socket.io reconnection on ajaxify
Also, updated messaging and toaster to accurately reflect offline-mode state
Julian Lam 041d45c3d2 fix: genericise .necro-post, bump persona to latest
Julian Lam edb8da1ef9 feat(api): closes category and topic routes migrated to Write API
Misty (Bot) 1002c14aa2 Latest translations and fallbacks
Barış Soner Uşaklı 3121215e87 fix: , use assets path
Barış Soner Uşaklı c1ecfd1ebf feat: , don't try to reconnect forever
Julian Lam fb3f3f729f refactor(openapi): update TopicObject component to reference TopicObjectSlim in its schema
Barış Soner Uşaklı 20c1b684ed fix: , dont use service worker for posts requests
Misty (Bot) f1ec4961d9 Latest translations and fallbacks
Misty (Bot) 29fcdc4c22 Latest translations and fallbacks
Barış Soner Uşaklı 183cabe90f fix: , fix selector so it doesn't add img-responsive to profile pics
Misty (Bot) d85e351f43 Latest translations and fallbacks
Julian Lam 223f0a5515 feat(acp): admin tags privilege
Julian Lam d90aa95808 feat: add confirmation modal when assigning admin:admins-mods privilege
Julian Lam fb46a8d975 feat(acp): admins-mods privilege
Misty (Bot) c62a6b6ca8 Latest translations and fallbacks
Julian Lam da191341e8 feat(acp): added new admin privilege for groups management
Julian Lam 3959a7bd9c fix(api): failing test due to missing file
Julian Lam 32e36f7b2e feat(api): group ownership API route, switch client-side to use API route
Julian Lam 98550d61d7 feat(api): add schema for groups update route
Julian Lam 4fc1337762 feat(api): added schema for email unsubscribe token
Julian Lam 1cd2689cf6 refactor(api): deprecated groups update socket in favour of API lib
Julian Lam e640a41a78 refactor(api): update group deletion calls to use write API
Misty (Bot) 4ac13160b5 Latest translations and fallbacks
Barış Soner Uşaklı 2ef72a94c2 fix: , fix move topic/post timeout errors
Peter Jaszkowiak 2be396ff6e fix: email testing and settings change from ACP
- changing email SMTP settings wouldn't apply the first time
- "Send Test Email" now will report emailer errors in most cases
Barış Soner Uşaklı b369dc888b fix: , event is fired on socket.io
Julian Lam f416dc177a fix: all tests, wrap up work
Julian Lam 9c2de86a6e fix: two more routes
Julian Lam cb32e32ae3 feat: fix more tests, add more routes, update api test suite
Julian Lam 14c51e3c60 feat: add registration/complete route, fix some other tests
Julian Lam b9a61d2d45 fix: api tests
Julian Lam 9de35ec5a3 feat: add missing schemas for various ACP settings routes
Julian Lam c079051b19 fix: errors in write-api schema
Julian Lam 8e5a413e4e chore: minor reordering of lines
Julian Lam 990f107736 fix: broken tests from last round of fixes
Julian Lam d6de925348 feat: add missing schema for category update and deletion
Deleted CategoryObj component, since CategoryObject is used more
Julian Lam eef052c1bf fix: add missing token generation route to write api spec
Julian Lam d85181e031 feat: add schema for api ping routes
Julian Lam 878ee06715 refactor: schema backreference test to use map instead of reduce, properly check write-api routes
Julian Lam df8d62ba06 feat: normalize paths before comparison
psychobunny b8d4709eec fix(pwa): service-worker.js missing on subfolder installs
Barış Soner Uşaklı b7b588f5c8 fix: trigger action:posts.edited
Barış Soner Uşaklı feecd66506 fix: api usage
Barış Soner Uşaklı a15ef53c70 feat: add new client side hooks
Misty (Bot) e99fe307b6 Latest translations and fallbacks
Barış Soner Uşaklı 3ed55799ab fix: , fix client side groups update for memberPostCids
gasoved 3ba0575584 fix: don't check "select all" if there are no enabled checkboxes
Misty (Bot) 850bf497ea Latest translations and fallbacks
Misty (Bot) e7ac767080 Latest translations and fallbacks
Misty (Bot) 7eaedf4847 Latest translations and fallbacks
Julian Lam 15f1a08940 chore(i18n): fallbacks for new topic thumb keys
Julian Lam 2170c40007 fix: iteration logic bug
Julian Lam ae9439748d fix: spec
Julian Lam a30c8ab5c8 feat: clent-side modal for managing topic thumbs
closes 
Julian Lam d31aae167e fix(spec): broken link to status component
Julian Lam cb7e4cda2a feat: helper method to get thumbs by pid
Julian Lam 41379e27c8 fix: hack uploader to handle a response from v3 write api
Julian Lam 340387c18a fix: , non-standard API response from addThumbs route
Also removed old thumb upload router handler, and updated uploadPost handling in composer to match new response schema
Julian Lam 5950683316 feat: closes , tests for topic thumbs routes, write API schema
Julian Lam ef10b6b70d fix: missing file added
Julian Lam 1949d20a87 fix: spec
Barış Soner Uşaklı 0f480be658 fix: , dont prevent admins from deleting other users
Barış Soner Uşaklı ff2aa17bbc fix: show errors when user delete fails
Barış Soner Uşaklı dd9ed23631 fix: dont start logout timer if adminReloginDuration is disabled
Misty (Bot) 8c125cab6c Latest translations and fallbacks
Misty (Bot) 68251fffe7 Latest translations and fallbacks
Barış Soner Uşaklı 13d5a1440b fix: reconnectin no longer fires on socket.io 3
Misty (Bot) d95200ce60 Latest translations and fallbacks
Barış Soner Uşaklı 74274b60ed feat: allow clicks on navigator, clean dupe code
Barış Soner Uşaklı 4a0d883359 breaking: , remove utils.slugify
Barış Soner Uşaklı 91c20ceca5 fix: , settings v2/v3 conflict
Misty (Bot) ba57876c96 Latest translations and fallbacks
Barış Soner Uşaklı a389a31b4a fix: timeago in navigation
Barış Soner Uşaklı 163d1a39ce fix: navigation fixes
Barış Soner Uşaklı 73d2f51d7a fix: cache some jquery objects
Barış Soner Uşaklı 63d0839550 fix: add ev.cancelable
Barış Soner Uşaklı 790f4e4521 fix: , pretranslate string
Barış Soner Uşaklı 6669496dba
Navigator ()
* feat: navigator changes

* fix: remove extra code

* feat: add lang keys
Barış Soner Uşaklı 5d00b0895b fix: sso redirect on /login & /api/login
Barış Soner Uşaklı 698718f87c feat: allow modifiying browser title on ajaxify