5885 Commits (72b03d8deaf5d931586e1d62a7e40a185031992d)

Author SHA1 Message Date
psychobunny ae793b4a44 chore: found some hooks that don't play well docgen 3 years ago
gasoved 3df79683f5
feat: create folders in ACP uploads #9638 (#9750)
* feat: create folders in ACP uploads #9638

* fix: openapi

* test: missing tests

* fix: eslint

* fix: tests
3 years ago
gasoved 61f02f17d8
feat: column based view on wide priv. tables (#9699)
* feat: column based view on wide priv. tables

* fix: add group/user

* feat: copy buttons to work on visible privs

* feat: show what's being copied in modal

* feat: optional title and message for category selector modal
3 years ago
Julian Lam 55693ec1b0 fix: lint 3 years ago
Julian Lam e803737a4b feat: add confirmation modal to topic event deletion 3 years ago
Julian Lam 1ee92c281d fix: topic event deletion 3 years ago
Julian Lam 152f194aee
Server-side rendering of topic events (#9733)
* style: reformat list of helpers exported

* refactor: move topic events partial into a helper, invoke helper in topic.tpl (see persona), update how events are added to the DOM via addTopicEvents

closes #9731

* style: lint
3 years ago
Barış Soner Uşaklı 60bf564321 fix: #9729, insert new posts after topic events 3 years ago
Barış Soner Uşaklı 77c3085a7b fix: #9727, addHandlers after hooks 3 years ago
Barış Soner Uşaklı 794bf01b21 feat: allow changing default search in 3 years ago
Julian Lam cf4b78dbd3 Revert "fix: taskbar icon not pushed via composer/persona"
This reverts commit 3a81c8fd42.
3 years ago
psychobunny d2492ef48e style: eslint 3 years ago
psychobunny 3a81c8fd42 fix: taskbar icon not pushed via composer/persona
@antosik, partially reverted your PR:
342503e07a

just specifically this file: 342503e07a/public/src/modules/taskbar.js

I'm not 100% sure, but it might be because this hook is called sooner than the hook being registered? https://github.com/NodeBB/nodebb-theme-persona/blob/master/public/persona.js#L100-L101  @julianlam
3 years ago
Barış Soner Uşaklı 382a4c2785 feat: #9705, use radio buttons for flag reasons 3 years ago
Anton Grigoryev 342503e07a
Feat: Client-side hooks - replace window.trigger (#9679)
* feat/clientside-hooks: replace window.trigger with hooks.fire

* feat(clientside-hooks): Move hooks require to the top

* fix: simplifying complex logical expression

* fix: client-side hook for translator - post-review fixes
4 years ago
Barış Soner Uşaklı 8bf2896d6c fix: lint 4 years ago
Barış Soner Uşaklı 358ad74054 feat: closes #9684, allow event deletion
fix: topic events appearing before necro messages
feat: add move topic event
feat: add ability to delete specific topic events via events.purge
4 years ago
Julian Lam bbbacd86ab feat: updated email confirmation alert to more closely reflect email usage, remembering dismissal 4 years ago
Julian Lam 58adb76246 feat: allow requirejs modules to be awaited 4 years ago
Julian Lam 0e05cbe1f7 feat: show instructional modal after email change request 4 years ago
gasoved a917210c5b feat: invites no longer require email 4 years ago
Julian Lam 69c96dd23c refactor(emails): more work in update email interstitial, interstitial skipping, email change on confirmation, deprecation of requireEmailConfirmation 4 years ago
Julian Lam 7c1d1c777b refactor(emails): remove email validation on client and server side 4 years ago
Julian Lam 12b2a979a0 feat: removal of emailExists socket listener 4 years ago
Julian Lam 21359eabac feat: convert _fireStaticHook to async function (auto-refactor by vscode) 4 years ago
Julian Lam 6bc090f8bb docs: some hook deprecation notices 4 years ago
Julian Lam ef4e74bfc8 refactor: client-side to use flag notes API 4 years ago
Julian Lam cc6cbfcdc4
Flags API (#9666)
* feat: new routes for flags API

+ flag get
+ flag creation, migration from socket method
+ flag update, migration from socket method
* fixed bug where you could not unassign someone from a flag

* feat: tests for new flags API

added missing files for schema update

* fix: flag tests to use Write API instead of sockets

* feat: flag notes API + tests

* chore: remove debug line

* test: fix breaking test on mongo
4 years ago
psychobunny acb11cc764 fix: use hooks module instead of window trigger 4 years ago
Barış Soner Uşaklı 4a56388ec3
feat: store topic tags in topic hash (#9656)
* feat: store topic tags in topic hash

breaking: remove color info from tags (use css)

* fix: remove unused tag modal

* fix: tag search
4 years ago
psychobunny 522291726d style: lint 4 years ago
psychobunny e0db904b0e feat: new hook `action:topics.loading` (in the same format as `action:posts.loading`) 4 years ago
psychobunny 8ae4c30029 feat: schedule deprecation for `action:category.loaded` and `action:category.loading`. Use `action:topics.loaded/ing` instead
(or action:ajaxify.end if you are using it to check cid on page load)
4 years ago
psychobunny 07f25d8c47 fix: made TopicList.onTopicsLoaded private [breaking] 4 years ago
Barış Soner Uşaklı 5fd190f7c4 feat: #9651, change category desc to multiline 4 years ago
Julian Lam b896484351 fix: #9634, re-jig top bar of Admin > Manage > Users 4 years ago
Julian Lam 849049765b fix: #9636, sanitize all attributes in meta and link tags 4 years ago
Julian Lam 09bac6bd7e fix: convert some hooks to use hooks module
re: julianlam/nodebb-plugin-markdown#130
4 years ago
Barış Soner Uşaklı 561ce7d30a fix: #9629, translate content property of meta tags 4 years ago
Barış Soner Uşaklı 2fe30b6fa0 feat: #9628, allow setting custom icon names 4 years ago
Barış Soner Uşaklı 7b4c0a1683 fix: keep query params when switching chat 4 years ago
Barış Soner Uşaklı be19f27f40 feat: add filter:categories.categorySearch 4 years ago
Barış Soner Uşaklı cc0cf99fed
feat: allow nested properties on category page (#9601)
* feat: allow nested properties on category page

* fix: remove debug

* fix: remove debug
4 years ago
Barış Soner Uşaklı 8ea58432c9 feat: show ip on acp manage users
update url on search
show matching ip when searching by ip
add ip to export csv
4 years ago
psychobunny e588948ff5 feat: add undoTimeout to moving posts as well #9599 4 years ago
psychobunny 05cc7ccb60 feat: make undoTimeout configurable, closes #9599 4 years ago
Mats c448ba6f5a
Fixes flag note editing, deletion, and template update (#9581)
* Fixes flag note editing, deletion, and template update

Flag note datetime should be int.
Corrects argument order for note reloading.

* Chore: add missing radix

* fix: empty append bug

This line results in an error message popping up when clicking the flag notes text box, as the 'appendNote' case fires with no text. I can't tell that it serves any function.
4 years ago
Mats f9b248b87f fix: updates navigation menu user icon 4 years ago
Mats e6ef094079
Re-enable "change username" button after failed attempt (#9568)
* Re-enable "change username" button after failed attempt

* chore: proper indentation
4 years ago
Barış Soner Uşaklı f5847f4f02 feat: #9559, set order help text 4 years ago
Julian Lam 8cc61f1197 feat: automatically attempt reconnection on window focus 4 years ago
Julian Lam ec6d1e2321
fix: #9507 session reroll causes socket.io to become confused (#9534)
* fix: #9507 session reroll causes socket.io to become confused

* fix: added return

* fix: simpler logic for error handling

* fix: overly sensitive catch
4 years ago
gasoved ce5fea2abd fix: do not register SW for Safari until upstream fixes #9193 4 years ago
gasoved cb1dd0a3db
fix: infinite scroll with small number of items #9524 (#9525) 4 years ago
Julian Lam db48b9527d fix: #9519 unable to properly ajaxify to home on subfolder installs if anchor did not have a trailing slash 4 years ago
psychobunny 2bfa63aecf feat: `hidden` class to FOUC 4 years ago
psychobunny 93598982f9 fix: stripTags for editing sorted list items as well 4 years ago
psychobunny b5ce8d257c style: eslint 4 years ago
gasoved 8faa6e4515
feat: filter flags by username #8489 (#9451)
* feat: filter flags by username #8489

* feat: toggle flag filter text
4 years ago
psychobunny 75073c0ed3 fix: stripHTMLTags for sorted list entries 4 years ago
psychobunny e50408b461 fix: restore original behavior for up/downvoting when logged out 4 years ago
psychobunny 60eed8d89f fix: let recent replies respect oldest/newest sort settings 4 years ago
Barış Soner Uşaklı 1af34b43e3 fix: #9474, load hooks on page load 4 years ago
Barış Soner Uşaklı f32ea1737a fix: #9466, don't call leaveRoom in maintenance mode 4 years ago
Barış Soner Uşaklı c5ae8a70e1 fix: #9463 4 years ago
Barış Soner Uşaklı cb53a64cde fix: acp crash 4 years ago
Barış Soner Uşaklı dbb59228f2 feat: add action:posts.loaded 4 years ago
Barış Soner Uşaklı 536591f842 fix: #9447, include query params in previousUrl 4 years ago
psychobunny 1ad1787eaa fix: thumb count not updated when uploading multiple thumbs at a time 4 years ago
gasoved aa0137b1c4
feat: rescheduling (editing ST) (#9445) 4 years ago
psychobunny 01f63e5d58 fix: change email button stays disabled if user submitted an invalid email 4 years ago
psychobunny cfdef77b28 fix: use app.logout() to clear session after deleting user
I think this was originally changed when we added logging in/out without refreshing, but didn't change this back after reverting that feature
4 years ago
Barış Soner Uşaklı 344575dde1
feat: add hooks to language loading (#9426)
and flushNamespace method
4 years ago
gasoved a3e95e798f feat: allow adding sorted-list items from forms outside of modal 4 years ago
gasoved 077330b764
feat: scheduled topics (#9399)
* feat: scheduled topics

* refactor: linting fixes

* fix: tests

* fix(test): race condition

* fix: make a single request
4 years ago
Julian Lam d9e2029074 fix: hooks for alert animate, no more fadein/fadeout for reconnect alert 4 years ago
Barış Soner Uşaklı 3c4e93a3c1 fix: #9411 4 years ago
Barış Soner Uşaklı cef58d1d6f fix: #9412 4 years ago
Barış Soner Uşaklı 93c595d95e fix: #9406, update flag post tools 4 years ago
Barış Soner Uşaklı 262e059fa6 fix: inf scroll with subfolder install 4 years ago
Barış Soner Uşaklı 2041b8084f fix: flicker on dashboard 4 years ago
Julian Lam d1685600d3 refactor: deprecate action:script.load, use filter:script.load instead 4 years ago
Barış Soner Uşaklı 03e306349c fix: #9387, don't try to load undefined images 4 years ago
Barış Soner Uşaklı 617f4730a0 fix: crash if unreadTopics is undefined 4 years ago
Barış Soner Uşaklı f45c0aab51 fix: dont crash if login el doesnt exist 4 years ago
Barış Soner Uşaklı 52082e1296 feat: add resolve flag to post tools 4 years ago
Julian Lam 2a939aad8d fix: regression via c1b3079d93
Also refactored privilege render logic so that it no longer needs a server-side hack to render column count
4 years ago
Julian Lam 4cbd13fd9c feat: hide revert button in ACP > Privileges until privileges change 4 years ago
Julian Lam 8472513093 fix: change notification updateCount to use client-side hooks 4 years ago
Julian Lam 98bf4064e7 refactor: account edit logic and template, closes #9364 4 years ago
Barış Soner Uşaklı e787e6ea22 fix: if no in passed use "titles" to match header search 4 years ago
Barış Soner Uşaklı 696c489524 feat: add back topic id input 4 years ago
Barış Soner Uşaklı 8a4c361ece fix: #9354, don't close quicksearch results if mouse is down on them 4 years ago
Julian Lam c5e257888a fix: #9351 bad logic when inserting rows to privilege tables, also a missing tfoot 🦶 4 years ago
Julian Lam c265016944 fix: app.parseAndTranslate to always return promise 4 years ago
psychobunny 66196d2caf feat: allow for settings.save/settings.load on client side
w/ optional data-socket-get / data-socket-set params on form element for custom calls
4 years ago
Barış Soner Uşaklı 48bc23c065 refactor: remove startsWith/endsWith 4 years ago
Julian Lam b5a6a3149d refactor: app.parseAndTranslate to return promise if no callback passed 4 years ago
Julian Lam c1b3079d93 feat: category privilege API routes
closes #9342
4 years ago
Julian Lam 1e579428e7 fix: bug where fallback window trigger was not firing if there were no hook listeners attached
... so in essence the backwards compatibility was not working at all.

closes nodebb/nodebb-plugin-composer-default#147
4 years ago
Julian Lam 7d391d4789 feat: new client-side hook `filter:api.options` to allow plugins to modify api requests 4 years ago
preetykumar 2826c6986c
Update taskbar.js (#9314)
* Update taskbar.js

add aria-label to make the link text discernible to screen readers.

* place quotes around attribute value

Co-authored-by: Peter Jaszkowiak <p.jaszkow@gmail.com>
4 years ago
Julian Lam 114e3a1e76 fix: use components for toggleNavbar instead 4 years ago
Julian Lam 73dc64d9ff feat: add dashboard sub-pages to ACP menu 4 years ago
Julian Lam 655e2c67ad fix: timeago missing on table update 4 years ago
Julian Lam e1ed514b10 feat: topics dashboard details subpage 4 years ago
Julian Lam c57c77030e feat: update user list in dashboard/users on graph update 4 years ago
Julian Lam 3fa2e3cef2 refactor: have Graph.init and Graph.update return promises 4 years ago
Julian Lam f8e1a74c26 fix: wrong qs param, allow string to be passed to util.getDaysArray 4 years ago
Julian Lam 6fdcae7320 feat: req.query parsing and dynamically loading data instead 4 years ago
Julian Lam f561799f74 refactor: abstract out some client side dashboard code into modules, analytics subpages for users, topics, and logins 4 years ago
Julian Lam d0136074b6 feat: allow hook unregistration, and temporary page-based hooks
Temporary hooks automatically unregister themselves on the next ajaxify, making them perfect for in-page events.
4 years ago
Barış Soner Uşaklı 7ae7626c1b Revert "feat: add logout to invalid session"
This reverts commit beb1427387.
4 years ago
Peter Jaszkowiak 0d59fe3d2b fix(#9315): api v3 post, put, del JSON
also allow `app.alertError` to be called without an argument
also fix `./nodebb build --dev` to actually build in dev mode
4 years ago
Julian Lam beaac0a1ab fix: allow hidden inputs in user settings page 4 years ago
Julian Lam c96fd3b19b feat: pass user picture object into change_picture_modal 4 years ago
Julian Lam 28f6931e16 refactor: move picture change client-side logic to its own rjs module 4 years ago
Barış Soner Uşaklı beb1427387 feat: add logout to invalid session 4 years ago
Julian Lam 955021247e feat(user): icon background selector in change picture modal 4 years ago
Julian Lam b4c0b32b26 fix: use root context if buildAvatar context is undefined 4 years ago
Barış Soner Uşaklı fa91525a6d fix: use bootbox module 4 years ago
Barış Soner Uşaklı 9ce6f8ad93 feat: add tag filter to getSortedTopics 4 years ago
Julian Lam 7223074f1d feat: ability to re-order topic thumbnails 4 years ago
Julian Lam db027170a8 feat: add close button to topic thumbnail modal 4 years ago
Julian Lam 36e8d251c8 fix: use of removed URL to get post data 4 years ago
Barış Soner Uşaklı 3595473485 feat: load user posts/topics via xhr on infinitescroll 4 years ago
Peter Jaszkowiak cc9d6fd08b chore: eslint max-len 4 years ago
Peter Jaszkowiak 62869bae3d chore: eslint function-paren-newline 4 years ago
Peter Jaszkowiak 9f6a682ca9 chore: eslint no-script-url 4 years ago
Peter Jaszkowiak dad01e3051 chore: eslint no-bitwise 4 years ago
Julian Lam 16610b2dca fix: pass jquery object in to action:notifications.loaded hook 4 years ago
Julian Lam 7edc8f458d feat: new notifications load/loaded hooks on client side
refactored `toggleTimeagoShorthand` code to be inside of a hook listener
4 years ago
Barış Soner Uşaklı 0cca6893f3 fix: #9275, 4 years ago
Barış Soner Uşaklı cfa0d42390 fix: don't use global bootbox obj 4 years ago
Barış Soner Uşaklı 550cd995e8 fix: remove console.log 4 years ago
Barış Soner Uşaklı fca17cb713 fix: move service worker back to relative_path/service-worker.js 4 years ago
Barış Soner Uşaklı a4878a5b22 fix: markread selector 4 years ago
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
4 years ago
Barış Soner Uşaklı 47299ea587
Categories refactor (#9257)
* 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: #9266

* fix: index 0

* fix: spec

* feat: #9265, 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
4 years ago
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`.
4 years ago
gasoved 53e0d4d2e0 feat: banned-users group 4 years ago
Julian Lam 4af9c2fcdd fix: autofocus on search field in ACP > Manage > Plugins 4 years ago
gasoved a2a7557cc0 refactor: update dom after diff deletion better 4 years ago
gasoved 4447a64eaa refactor: removed 3 lines 4 years ago
gasoved eb642f40b9 feat: #9109, ability to delete a post's diffs 4 years ago
Julian Lam 501441b736 feat: add .delete() method to api module 4 years ago
psychobunny 58655e9a0b fix: invalid API call when unfollowing a user 4 years ago
Opliko 2bc74cffe6
fix: #9127, scope service worker to relative_path for the forum (#9239)
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.
4 years ago
Barış Soner Uşaklı d1364c3130
Categories refactor (#9233)
* 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
4 years ago
Julian Lam 5131eb6b90 fix: `action:admin.settingsLoaded` to use new hooks lib 4 years ago
Julian Lam b0f5d5a594 fix: crash on firing action hook that had no listeners registered 4 years ago
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.
4 years ago
Barış Soner Uşaklı a29dd21de4 fix: don't translate message on every ajaxify 4 years ago
Julian Lam 4029ec3713 fix: multiple sorted-lists do not save to the correct set 4 years ago
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.
4 years ago
Julian Lam 4bb3b0323d feat: guard password fields in login/register against accidental caps lock 4 years ago
Barış Soner Uşaklı 05be1c6603 feat: restore action:script.load, allow modifying loaded module via static:script.init 4 years ago
Julian Lam 8b09292e77 chore: add deprecation notice in comments for ajaxify.loadExtraScripts 4 years ago
Julian Lam 7da1b43f2b fix: script failure if client-side page script does not exist 4 years ago
Julian Lam 8e93bf7362 feat(topic-events): client-side handling on topic event log 4 years ago
Julian Lam df2fdd56ba fix(topic-events): repeated invocations of Posts.addTopicEvents caused dupes to be added to DOM 4 years ago
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
4 years ago
Julian Lam 882e6a159c feat(topic-events): handle newest_to_oldest sort in topic events, WIP 4 years ago
Julian Lam ab2e1ecb40 feat(topic-events): work in progress topic events logic and client-side implementation 4 years ago
Julian Lam faf5960373 fix: bug where `action:ajaxify.end` was never called if there were no init scripts 4 years ago
Julian Lam 8e5687a4af refactor(hooks): deprecate `action:script.load` client-side hook
Use `static:script.init` instead.
4 years ago
Julian Lam efff8e2ae2 fix(hooks): bug where hook firing would fail if there were no listeners 4 years ago
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)
4 years ago
Julian Lam 1d77572117 feat(hooks): update action:ajaxify.end to use new hooks module 4 years ago
Julian Lam 412d285850 fix(hooks): fallback handling for core invocations of hooks.fire
+ .on() which is the same as .register()
4 years ago
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.
4 years ago
Julian Lam 966c4117ec refactor(api): post move to write API 4 years ago
Barış Soner Uşaklı 0fa4c11ea6 fix: don't chagne scrollTop if at the top of page 4 years ago
Julian Lam e118e59ce0 refactor(api): post diffs to use write API 4 years ago
Barış Soner Uşaklı 1590cdf19f fix: #9206, fix double escaped arguments 4 years ago
Barış Soner Uşaklı 0a471b76b5 fix: use max 4 years ago
Barış Soner Uşaklı c30b40abe7 fix: keep 60 topics minimum on topic list 4 years ago
Barış Soner Uşaklı 072a0e32d8 feat: #8813, 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
4 years ago
Julian Lam e5edbc6faf feat: automatically attempt socket.io reconnection on ajaxify
Also, updated messaging and toaster to accurately reflect offline-mode state
4 years ago
Barış Soner Uşaklı 3121215e87 fix: #9127, use assets path 4 years ago
Barış Soner Uşaklı c1ecfd1ebf feat: #9135, don't try to reconnect forever 4 years ago
Barış Soner Uşaklı 20c1b684ed fix: #9151, dont use service worker for posts requests 4 years ago
Barış Soner Uşaklı 183cabe90f fix: #9150, fix selector so it doesn't add img-responsive to profile pics 4 years ago
Julian Lam d90aa95808 feat: add confirmation modal when assigning admin:admins-mods privilege 4 years ago
Julian Lam 32e36f7b2e feat(api): group ownership API route, switch client-side to use API route 4 years ago
Julian Lam 1cd2689cf6 refactor(api): deprecated groups update socket in favour of API lib 4 years ago
Julian Lam e640a41a78 refactor(api): update group deletion calls to use write API 4 years ago
Barış Soner Uşaklı 2ef72a94c2 fix: #9136, fix move topic/post timeout errors 4 years ago
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
4 years ago
Barış Soner Uşaklı b369dc888b fix: #9129, event is fired on socket.io 4 years ago
psychobunny b8d4709eec fix(pwa): #9127 service-worker.js missing on subfolder installs 4 years ago
Barış Soner Uşaklı b7b588f5c8 fix: trigger action:posts.edited 4 years ago
Barış Soner Uşaklı feecd66506 fix: api usage 4 years ago
Barış Soner Uşaklı a15ef53c70 feat: add new client side hooks 4 years ago
Barış Soner Uşaklı 3ed55799ab fix: #9114, fix client side groups update for memberPostCids 4 years ago
gasoved 3ba0575584 fix: don't check "select all" if there are no enabled checkboxes 4 years ago
Julian Lam a30c8ab5c8 feat: clent-side modal for managing topic thumbs
closes #9087
4 years ago
Julian Lam cb7e4cda2a feat: helper method to get thumbs by pid 4 years ago
Julian Lam 41379e27c8 fix: hack uploader to handle a response from v3 write api 4 years ago
Julian Lam ef10b6b70d fix: missing file added 4 years ago
Barış Soner Uşaklı ff2aa17bbc fix: show errors when user delete fails 4 years ago
Barış Soner Uşaklı dd9ed23631 fix: dont start logout timer if adminReloginDuration is disabled 4 years ago
Barış Soner Uşaklı 13d5a1440b fix: reconnectin no longer fires on socket.io 3 4 years ago
Barış Soner Uşaklı 74274b60ed feat: allow clicks on navigator, clean dupe code 4 years ago
Barış Soner Uşaklı 4a0d883359 breaking: #8808, remove utils.slugify 4 years ago
Barış Soner Uşaklı 91c20ceca5 fix: #9065, settings v2/v3 conflict 4 years ago
Barış Soner Uşaklı a389a31b4a fix: timeago in navigation 4 years ago
Barış Soner Uşaklı 163d1a39ce fix: navigation fixes 4 years ago
Barış Soner Uşaklı 73d2f51d7a fix: cache some jquery objects 4 years ago
Barış Soner Uşaklı 63d0839550 fix: add ev.cancelable 4 years ago
Barış Soner Uşaklı 790f4e4521 fix: #9046, pretranslate string 4 years ago
Barış Soner Uşaklı 6669496dba
Navigator (#9049)
* feat: navigator changes

* fix: remove extra code

* feat: add lang keys
4 years ago
Barış Soner Uşaklı 5d00b0895b fix: sso redirect on /login & /api/login 4 years ago
Barış Soner Uşaklı 698718f87c feat: allow modifiying browser title on ajaxify 4 years ago
Barış Soner Uşaklı 7e867cf95e fix: #7597, fix progress bar of cover/profile uploads
send big cover images in chunks
4 years ago
Barış Soner Uşaklı 73746bb489 refactor: remove old hack 4 years ago
Barış Soner Uşaklı 6f68f4d20a fix: #9032, fix login redirect for sso plugins 4 years ago
Barış Soner Uşaklı 5f0f476b57 feat: #9005, use timestamp in profile/cover images
delete current one if keepAllUserImages is turned off
fix typo in data
4 years ago
Barış Soner Uşaklı 954dc5b7be feat: #8983, update pin tooltip in topic 4 years ago
psychobunny 53abada5f0 Revert "feat: option to allow auto-joining of groups (optionally skip the "request membership" step)"
This reverts commit 685f3c6aa6.
4 years ago
psychobunny 685f3c6aa6 feat: option to allow auto-joining of groups (optionally skip the "request membership" step) 4 years ago
psychobunny 54dc449fb9 fix(acp): #9008 undefined link for "no users browsing" state on dashboard 4 years ago
psychobunny 286243cd37 fix(acp): #9009 no-users-browsing untranslated on dashboard 4 years ago
Barış Soner Uşaklı 4c650aeead feat: #8989, convert widget nav to dropdown 4 years ago
Barış Soner Uşaklı 5080f35752 fix: #8991, logout on password reset, dont verify email if password expired
dont allow same password on reset
4 years ago
Barış Soner Uşaklı 8adbf54ae6 fix: don't show topic search if no search privilege 4 years ago
Barış Soner Uşaklı 1269103fbb fix: #8984, post-queue ux 4 years ago
Barış Soner Uşaklı d3c04afb98 fix: #8982, copy color on tag rename, dont copy if target exists
refresh page on tag rename
4 years ago
Barış Soner Uşaklı 6e6a7a8f8a fix: #8969, export csv to file 4 years ago
Barış Soner Uşaklı 5c3deb4b0e fix: #8973, fix timestamp on ban modal 4 years ago
Barış Soner Uşaklı c8554b78b9 fix: #8968, don't show topic search if search is not enabled 4 years ago
Barış Soner Uşaklı 4c7374ea33 fix: flicker on tooltips if server call takes long time 4 years ago
gasoved a56a657759
fix: missing select/clear all checkbox added to category privileges template (#8967) 4 years ago
Julian Lam e1432caf92 feat: add cancel button to pin expiration modal 4 years ago
Julian Lam 15c6f32c93 refactor: pin/lock threadTools to use topicCommand, rewrote topicCommand to match categoryCommand signature 4 years ago
Barış Soner Uşaklı 7e6427bca7 fix: dont go back after delete account actions 4 years ago
Barış Soner Uşaklı 5ceda14874 Revert "fix: #8955, popstate to purged topic should go to homepage"
This reverts commit 39dae0aaff.
4 years ago
Julian Lam 39dae0aaff fix: #8955, popstate to purged topic should go to homepage 4 years ago
Barış Soner Uşaklı c037779fa1 feat: add topicOwnerPost #8778 4 years ago
Barış Soner Uşaklı 6a819944d5 chore: remove console.log 4 years ago
Julian Lam d584516947 fix: #8943, session mismatch modal thrown on login (race condition) 4 years ago
Julian Lam ac734b8335 fix: #8912 4 years ago
Barış Soner Uşaklı db1c140ff9 refactor: remove unused require 4 years ago
gasoved 00e75de736
feat: select/clear all checkboxes in privilege table (#8941) 4 years ago
psychobunny 1c0e8c1663 fix: move meta.getServerTime call to admin namespace 4 years ago
Barış Soner Uşaklı f20c12ee40 fix: add client side check for userslug #8939 4 years ago
Barış Soner Uşaklı cf903e4e8f fix: #8931, fix lang string 4 years ago
Barış Soner Uşaklı 95a3f03009 fix: #8932, fix client side error when updating username 4 years ago
Barış Soner Uşaklı 5fa098326f fix: https://github.com/NodeBB/NodeBB/pull/8685
fix category link redirect on cold load
fix helpers.redirect if passed in url is external
fix ajaxify so it doesn't slice first character of external url
4 years ago
Julian Lam 046d0b1637
feat: allow pins to expire (if set) (#8908)
* fix: add back topic assert middleware for pin route

* feat: server-side handling of pin expiries

* refactor: togglePin to not require uid parameter [breaking]

* feat: automatic unpinning if pin has expiration set

* feat: client-side modal for setting pin expiration

* refactor: categories.getPinnedTids to accept multiple cids

... in preparation for pin expiry logic, direct access to *:pinned zsets is discouraged

* fix: remove references to since-removed jobs file for topics

* feat: expire pins when getPinnedTids is called

* refactor: make the togglePin change non-breaking

The 'action:topic.pin' hook now sends uid again, as before. However, if it is a system action (that is, a pin that expired), 'system' will be sent in instead of a valid uid
4 years ago