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