5922 Commits (a2fafc2b1545a484f1f0256776e8504f0eb0afd0)

Author SHA1 Message Date
Barış Soner Uşaklı 9af2335134 fix: #10068, baseIndex should be read before sort update fix off by one error 3 years ago
Barış Soner Uşaklı cc3f82bc83 breaking: remove socket.emit('admin.categories.setPrivilege') and socket.emit('admin.categories.getPrivilegeSettings') 3 years ago
Barış Soner Uşaklı 906dc5675e fix: handle start=0 stop=0 for topics.getTopicPosts
add more tests
3 years ago
Barış Soner Uşaklı 621c142f8e refactor: alerts 3 years ago
Barış Soner Uşaklı 0a6eeb933e lint: fix 3 years ago
Barış Soner Uşaklı cba78aee16 refactor: use alerts.error/success 3 years ago
Barış Soner Uşaklı 4f4236101b
fix: wrong usage of is ACP 3 years ago
Barış Soner Uşaklı dd02c49f43 refactor: use lang keys, fix typo 3 years ago
Barış Soner Uşaklı 1980feed46 refactor: use alerts module 3 years ago
Barış Soner Uşaklı 7b99dc46eb test: utils.params 3 years ago
Barış Soner Uşaklı 36aa60346b breaking: remove action:category.loaded, use action:topics.loading
action:category.loaded will not fire on infintite load of topics
3 years ago
Baris Usakli d378bf4c9c fix: quote button staying on screen on slow computers 3 years ago
Barış Soner Uşaklı 242f8e95ad fix: #10020, /api/post/upload returns v3 style response 3 years ago
Barış Soner Uşaklı fb363957d1 refactor: tab rules 3 years ago
Barış Soner Uşaklı d5bfd51267 fix: #10010, handle reverse sorting for topic events
dont add events to dom if sort is most votes
if sorting is reverse add new events after the main post or at the top instead of bottom
3 years ago
Barış Soner Uşaklı e368feef51 refactor: dont expost entire res._locals to client side 3 years ago
Barış Soner Uşaklı 4359e5c97c refactor: remove tabs after declaration 3 years ago
Barış Soner Uşaklı 258f368e32 refactor: add filter:topic.getPosts
this hook only fires when loading the posts of a topic cold load + infinite scroll
do not remove posts if they have index =-1
use topics.getTopicPosts instead of getMainPostAndReplies
3 years ago
Barış Soner Uşaklı 231472354e perf: create user tooltips on demand 3 years ago
Barış Soner Uşaklı 7f8783555b Revert "perf: remove createUserTooltips"
This reverts commit facc10e40f.
3 years ago
Baris Usakli facc10e40f perf: remove createUserTooltips 3 years ago
Barış Soner Uşaklı 41c3eb8298 refactor: shorter require 3 years ago
Barış Soner Uşaklı 96f13e4f5d feat: #9992, hooks.one 3 years ago
Barış Soner Uşaklı 0428912c6d refactor: deprecate app.alert functions user alerts module directly 3 years ago
Barış Soner Uşaklı 8b4510cc70 refactor: deprecate app.logout
use logout module instead
move header related code out of app.js
3 years ago
Barış Soner Uşaklı 619034484f refactor: simpler rejoin
remove pointless app.cacheBuster = null
3 years ago
Barış Soner Uşaklı f352be63dc refactor: deprecate app.openChat/newChat
use chat.openChat/newChat instead
3 years ago
Barış Soner Uşaklı 1a9b15989b refactor: move search functions from app.js to search module
deprecate:
app.handleSearch, use search.init(options) instead
app.enableTopicSearch, use search.enableQuickSearch(options) instead
app.prepareSearch, use search.showAndFocusInput() instead
3 years ago
Barış Soner Uşaklı 666fe209f0 refactor: move session messages 3 years ago
Barış Soner Uşaklı 3d2398ac4c test: lint 3 years ago
Barış Soner Uşaklı 518552543d refactor: move warnings/messages out of app.js 3 years ago
Barış Soner Uşaklı 41e0240010 fix: dont show previews on mobile 3 years ago
Barış Soner Uşaklı c1cc35a949 refactor: display errors from category drag/drop 3 years ago
Barış Soner Uşaklı 054685265d fix: category load more btn visibility 3 years ago
Barış Soner Uşaklı 2e623dd271 feat: #9967, allow dropdowns in navigation 3 years ago
Barış Soner Uşaklı f728abda06 fix: remove tooltip on ajaxify 3 years ago
Barış Soner Uşaklı 8a88295d04 fix: don't highlight external nav items 3 years ago
Barış Soner Uşaklı 9fbb3b11ef perf: only load posts once 3 years ago
Barış Soner Uşaklı 5a0efd2d42 fix: don't use # for previews 3 years ago
Barış Soner Uşaklı 8c67031609 feat: show posts previews if enabled on mouse over 3 years ago
Barış Soner Uşaklı 89399c0ed5 fix: #9954, get next post timestamp
fixes topic events being inserted in after first page but at the wrong spot
3 years ago
Barış Soner Uşaklı a7f235dbac fix: topic events not rendered in infinitescroll 3 years ago
Barış Soner Uşaklı 74aa12c95b fix: hooks is sometimes undefined 3 years ago
Barış Soner Uşaklı e8c17feedb refactor: use utils.debounce 3 years ago
Barış Soner Uşaklı 50b2ebf844 fix: remove unused code 3 years ago
Barış Soner Uşaklı 3d1cf168f2 revert: lazy load 3 years ago
Barış Soner Uşaklı 015727855f fix: remove loading="lazy", fixes inf. scroll loaded images 3 years ago
Julian Lam 80ea12c1c1 feat: new ACP option `emailPrompt`
... which allows administrators to disable the client-side prompt to
encourage users to enter or confirm their email addresses
3 years ago
Julian Lam 5a328485dd Revert "fix: only show email confirmation warning toast on pages that it applies"
This reverts commit 1bd1cc74a4.
3 years ago
Barış Soner Uşaklı 64192731a0 refactor: use search api for topic search 3 years ago
Barış Soner Uşaklı 89f5e06bbf fix: don't repeat search if on same page 3 years ago
Barış Soner Uşaklı 19ee717444 refactor: slowdown quick search 3 years ago
Barış Soner Uşaklı f4cf482a87 feat: show popular searches 3 years ago
Barış Soner Uşaklı 8d316d1859 fix: #9934, fix translator test 3 years ago
Barış Soner Uşaklı 47df62e700 fix: clicking outside postContainer should close tooltip 3 years ago
Barış Soner Uşaklı f02fba29dc refactor: add callback to loadNotifications 3 years ago
Barış Soner Uşaklı fec7ebed04 fix: tooltip 3 years ago
Barış Soner Uşaklı 66fca4e066 feat: quote tooltip 3 years ago
gasoved b0a24d6dd5
refactor: var to const and let (#9885)
* refactor: var to const and let

* fix: missed global bootbox usage

* refactor: align with eslint expectations
3 years ago
gasoved 227456fb17
fix: no global bootbox (#9879)
* fix: require bootbox (easy ones)

* fix: require bootbox (ugly ones)

* fix(eslint): a lengthy line
3 years ago
Julian Lam 3e69bcdf1f fix: #9872 update app badge with notification count if applicable 3 years ago
Barış Soner Uşaklı 176ed9199b Merge branch 'master' of https://github.com/NodeBB/NodeBB 3 years ago
Barış Soner Uşaklı 4f9717fb08 fix: escape thumbs, allow robots meta tag 3 years ago
gasoved 56d05b4e86
feat: confirm before deleting all events (#9875) 3 years ago
Barış Soner Uşaklı 543d85212b refactor: remove unused colorpicker 3 years ago
Barış Soner Uşaklı 27e53b42f3 feat: use unread icon in mobile 3 years ago
Barış Soner Uşaklı 96f5312de9 fix: #9865, don't display register messages after login 3 years ago
Barış Soner Uşaklı a7668a7fb1 refactor: use utils.debounce
fixes socket message spam in chat resize
3 years ago
Barış Soner Uşaklı 4404e81991
fix: switch inf. scroll to xhr (#9854)
this fixes infinitescroll when url has custom query parameters
also fixes infinitescroll for plugins like QnA
fixes infinitescroll on tags page
deprecate topics.loadMoreSortedTopics
deprecate topics.loadMoreFromSet
3 years ago
Julian Lam be43cd2597
Topic Linkbacks (#9825)
* feat: WIP topic linkbacks, + failing tests

* test: don't accidentally comment out all of the post tests

* fix: rename to "backlinks"

* feat: more stub code, more failing tests

* feat: backend methods and passing tests for topic backlinks

* test: uncomment test/posts.js again

* fix: missing quotation mark in topic event helper

* fix: superfluous usage of Promise.all

* test: fix broken test -- used hardcoded (and incorrect) url

* test: parseInt shenanigans
3 years ago
Barış Soner Uşaklı 0faa493745 fix: crossorigin not showing up on manifest link tag 3 years ago
Barış Soner Uşaklı 89af00d1d5 fix: #9827, fix reward duplication 3 years ago
Barış Soner Uşaklı 9f0e55ad3e fix: #9819, show same time info for ban 3 years ago
Barış Soner Uşaklı 7a2f0ae15b fix: show local time for ban 3 years ago
Barış Soner Uşaklı 75ebe78619 fix: escape moderation note before adding to dom 3 years ago
Julian Lam 66eaae44a6 feat: add client-side static hook to fire immediately before any topic action (hint: delete `action` to stop default behaviour) 3 years ago
Barış Soner Uşaklı 6a55c02702 fix: #9790, get baseIndex on update for infinitescroll 3 years ago
Barış Soner Uşaklı 2657804c1f fix: #9790, fix sorting of more than one page of pinned topics 3 years ago
gasoved 84ff1152f7
feat: headers for global privs #9717 (#9762)
* feat: headers for global privs #9717

* fix: don't spoil headers to adminPrivs

Co-authored-by: Julian Lam <julian@nodebb.org>
3 years ago
psychobunny bf0c02a71e feat: a slightly less ugly rewards panel 3 years ago
Julian Lam 0a41741b7e refactor: deprecate picture update socket call, new API routes for picture update 3 years ago
Julian Lam 46e5e17d0f fix: focus on save button on plugin activation 3 years ago
gasoved fc0e655eef refactor: consistent jquery element var naming 3 years ago
gasoved 760ea9df1e fix: determine indeterminate checkboxes 3 years ago
gasoved 1272da6539 refactor: var to const 3 years ago
Julian Lam ca9bae3a1c fix: move app.alert back into the conditionals 3 years ago
Julian Lam 1bd1cc74a4 fix: only show email confirmation warning toast on pages that it applies 3 years ago
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 4 years ago
Julian Lam cf4b78dbd3 Revert "fix: taskbar icon not pushed via composer/persona"
This reverts commit 3a81c8fd42.
4 years ago
psychobunny d2492ef48e style: eslint 4 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
4 years ago
Barış Soner Uşaklı 382a4c2785 feat: #9705, use radio buttons for flag reasons 4 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