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
Julian Lam
4029ec3713
fix: multiple sorted-lists do not save to the correct set
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
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
Barış Soner Uşaklı
a15ef53c70
feat: add new client side hooks
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ı
74274b60ed
feat: allow clicks on navigator, clean dupe code
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ı
6669496dba
Navigator ( #9049 )
...
* feat: navigator changes
* fix: remove extra code
* feat: add lang keys
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ı
7e6427bca7
fix: dont go back after delete account actions
4 years ago
Julian Lam
a0b7a82350
feat(api): account deletion routes for the Write API ( #8881 )
...
* feat(api): account deletion routes for the Write API
* refactor: rewrite client-side calls to account deletion to use api
* style: apply DRY
4 years ago
Opliko
6e43086558
resolve #8444 - Allow nested objects in translations ( #8793 )
...
* feat: #8444 Allow nested objects in translations
* feat: #8444 Allow nested objects in translations
* style: don't change formatting
* fix: don't use the first string match if key isn't finished
* feat: #8444 Allow nested objects in translations
* feat: #8444 Allow nested objects in translations
* style: don't change formatting
* fix: don't use the first string match if key isn't finished
* feat: add nested translations test
4 years ago
Julian Lam
d83eb7f89e
refactor: client-side handlers for user invitations
...
DRY
4 years ago
Barış Soner Uşaklı
9f7902efdf
fix: remove some unnecessary jquery wrappers
4 years ago
Peter Jaszkowiak
e128264b66
refactor: change Benchpress.parse to .render ( #8856 )
...
It has been deprecated with no warning message for a while
Changing these over before enabling the warning message to reduce spam
4 years ago
Julian Lam
d263192271
feat: group exists API call in write api
4 years ago
Julian Lam
1446cec77f
feat: user exist route in write api
4 years ago
Barış Soner Uşaklı
78ee83324c
fix : #8838 , fix chat dropdown timestamps
...
use shorthand like notification dropdown
4 years ago
Julian Lam
aa8faf58a0
refactor: remove /users/{uid}/settings/{setting} route
...
@baris Also, I am now allowing the following properties to be saved in User.saveSettings:
- categoryTopicSort
- topicPostSort
- setCategorySort
- setTopicSort
4 years ago
Barış Soner Uşaklı
9082062e90
fix: sort setting not using correct field name
4 years ago
Barış Soner Uşaklı
a512d99472
refactor: remove unnecessary wrapper
4 years ago
Barış Soner Uşaklı
a05905f196
performance improvements ( #8795 )
...
* perf: nconf/winston/render
cache nconf.get calls
modify middleware.pageView to call next earlier
don't call winston.verbose on every hook see https://github.com/winstonjs/winston/issues/1669
translate header/footer separately and cache results for guests
* fix: copy paste fail
* refactor: style and fire hook only log in dev mode
* fix: cache key, header changes based on template
* perf: change replace
* fix: add missing await
* perf: category
* perf: lodash clone
* perf: remove escapeRegexChars
4 years ago
Julian Lam
c26f2b6599
feat(writeapi): user settings API
4 years ago
Barış Soner Uşaklı
85cfe49d65
fix: autocomplete.user on search page
4 years ago
Barış Soner Uşaklı
c107649b40
fix : #8732
4 years ago
Barış Soner Uşaklı
d9a16855d0
refactor: posts api
4 years ago
Barış Soner Uşaklı
2279e37261
refactor: deprecate socket.emit('users.search') use api route
4 years ago
Julian Lam
20bb9c7ec8
fix: csrf token only on non-GET routes
4 years ago
Barış Soner Uşaklı
3673accdb8
refactor: api module
...
only return promise if callback is undefined
dont append baseUrl if url already starts with api
correctly handle writeapi readapi response for data/error
remove unused onError
dont append empty ? to url for get routes
4 years ago
Julian Lam
a784d10fff
refactor: api module returns promise, error-first cb if cb passed in
...
no more separate onSuccess onError callbacks
/cc @baris
4 years ago
Julian Lam
1e07886f30
feat: require csrf token if not using bearer token
4 years ago
Barış Soner Uşaklı
dc29f4dca2
refactor: switch to using slugify module
4 years ago
Barış Soner Uşaklı
bddfcb5867
feat: #8734 , add slugify module, deprecate utils.slugify
4 years ago
Barış Soner Uşaklı
75c9668656
fix: admin jquerui requires
4 years ago
Barış Soner Uşaklı
8c019a6a3b
fix: timeago locale switch
4 years ago
Barış Soner Uşaklı
3b231360d3
feat: load jquery-form before using
4 years ago
Barış Soner Uşaklı
9c157de05d
feat: #8734 , move tinycon to package.json
4 years ago
Barış Soner Uşaklı
f259063f08
fix : #8728 , dont add admins to table
4 years ago
Julian Lam
3ea1aa4780
refactor(writeapi): update route prefix to api/v3, default error option
4 years ago
Julian Lam
49652e6f1b
feat: management of API tokens via ACP
4 years ago
Julian Lam
a905d7f022
refactor: rewrite modules/api.js in AMD style
4 years ago
Julian Lam
d044c3223e
feat(writeapi): abstracted ajax calls out to new api module
4 years ago
Julian Lam
fc603a5368
fix: use app.parseAndTranslate instead of benchpress.parse
4 years ago
psychobunny
20e0cc5cbb
fix: sorted list delete button
4 years ago
psychobunny
60afb110ef
fix: prevent mutiple highlighted rows on category/topic pages
4 years ago
Barış Soner Uşaklı
5d9a868142
feat: category filter on post queue ( #8710 )
...
* feat: category filter on post queue
category filter module
* feat: add spec
4 years ago
psychobunny
caa8c00f89
fix: params cached in autocomplete module
4 years ago
Peter Jaszkowiak
55d5cccf2e
Document deprecations and remove old ones ( #8706 )
...
* chore: document deprecation removal versions
* chore: remove deprecations 2+ versions old
4 years ago
Barış Soner Uşaklı
ea0f3262f4
feat: #8695 , allow sort for guests
4 years ago
psychobunny
611f3c6155
feat: allow autocomplete to pass optional params to user.search
4 years ago
psychobunny
2cd5f959a0
feat: add row highlighting for popular and unread
4 years ago
psychobunny
48a8ec4ab2
feat: return to previous page and/or category after marking topic unread
...
... also return to category if pagination is active and previous page was another page in the thread
4 years ago
Barış Soner Uşaklı
f2f3ba49b6
feat: hightlight matches in quick search
...
fix title hightlights
4 years ago
Julian Lam
8093142340
feat: ctrl-s now saves on settingsv1/v2 forms
...
... because nobody ever uses ctrl-s on a browser window.
4 years ago
Barış Soner Uşaklı
c9c9dd2f9b
fix: skip elements if they dont have proper index
4 years ago
Barış Soner Uşaklı
7148be2fd1
feat: allow passing in container to threadTools
4 years ago
Barış Soner Uşaklı
5f10d67db5
Remove sounds ( #8617 )
...
* feat: remove sounds
* feat: remove more sounds
* feat: disable sounds plugin
* fix: openapi
5 years ago
Barış Soner Uşaklı
5002e0f62c
feat: refactor app.js
5 years ago
Barış Soner Uşaklı
09de364e93
feat: add client side action:flag.create
5 years ago
Julian Lam
cd8e7963de
feat: added alert.timeoutfn
...
Also, various alert methods now pass two arguments,
alert and params
5 years ago
Julian Lam
9adaccd036
feat: +assetBaseUrl, -l10BaseUrl, -requireBaseUrl
...
Additional base URLs were necessary for benchpress and translator,
and in order to not clutter the API response with needless one-
time use base URLs, I decided to use a single base that is used
by all of the services, assetBaseUrl.
5 years ago
Julian Lam
def16f9e97
feat: introduce overridable l10nBaseUrl config value
5 years ago
Julian Lam
a716a5529c
feat: more discrete commit-on-save instead of commit-on-change w/ confirm modals ( #8541 )
...
* feat: privileges save button, #8537 , WIP
* fix: disable firefox autocomplete on privilege form fields
* feat: closes #8537 privilege changes commit on save
- new language strings for confirmation and success modals/toasts
- indeterminate privilege handling (/cc @psychobunny)
- added new discard button
- both discard and save buttons now have confirmation dialogs
* fix(tests): remove duplicate template helper test
* fix(tests): broken template helper test
* feat: confirm dialogs for all privilege copy actions
Also, ability to add user to a privilege table without needing
to refresh the privilege table.
* feat: group row addition w/o table refresh
breaking: helpers.getUserPrivileges and helpers.getGroupPrivileges
no longer make socket calls to the following hooks:
- filter:privileges.list, filter:privileges.admin.list,
filter:privileges.global.list, filter:privileges.groups.list,
filter:privileges.admin.groups.list,
filter:privileges.gloval.groups.list
The filters are still called, but done before the helper method
is called, and the results are passed in instead. This change
should only affect you if you directly call the helper methods,
otherwise the change is transparent.
* fix: stale ajaxify data on privilege category switch
* fix: implicit privileges not showing for user privs
* fix: groups, not group, also fix tests
* fix(tests): again
* fix: wrong tpl rendered when adding group to global priv table
5 years ago
Barış Soner Uşaklı
e7a502e0aa
feat: add ability to search groups in group details page
5 years ago
Barış Soner Uşaklı
fd4c3cda42
fix : #4695 , remove new notif alert
5 years ago
Barış Soner Uşaklı
8ddc8dd10f
refactor: make msg pretty
5 years ago
Barış Soner Uşaklı
764969ab29
feat: show language when key isn't found
5 years ago
Barış Soner Uşaklı
320008cd49
feat: #8509 , don't scroll chat to bottom if user scrolled up
5 years ago
Julian Lam
3379d65f36
feat: fire action:flag.showModal on flag modal appearance
5 years ago
Barış Soner Uşaklı
46a6686300
fix: category search in selector
5 years ago
Barış Soner Uşaklı
658dd03b03
feat: add tools to recent/unread ( #8477 )
...
* feat: add tools to recent/unread
* fix: open api spec
* fix: more api spec
5 years ago
Julian Lam
da29b947bf
feat: add js-enabled.css to list of preloaded css files
5 years ago
Barış Soner Uşaklı
4f6b6c5631
feat: hide elements if search element is a direct child of dropdown
...
this fixes themes if they put the search input inside the dropdown
5 years ago
Barış Soner Uşaklı
6349fa03e1
feat: more search changes
5 years ago
Barış Soner Uşaklı
4b38533b15
feat: more merge/search fixes
5 years ago
Julian Lam
4d60eac60f
feat: #8384 options to delete account, content, or both
5 years ago
Julian Lam
a82e9bd7f6
feat: privileges for Admin Control Panel ( #8355 )
...
* feat: acp privileges (WIP)
* fix: restore global privilege hooks
* refactor: using cid 0 in admin privs
* fix: no need for zebrastripe-reset
* feat: manage:categories privilege WIP
* feat: renamed prefix to admin:, settigns and dashboard privs
* fix: nofocus on acp privs group find modal
* refactor: privileges.x.get() to not used hardcoded privs
* fix: crash if unable to get latest version
* feat: setting acp priv
* Revert "fix: crash if unable to get latest version"
This reverts commit afdb235f48eb0072d88de45f3a1e0151281095b3.
* feat: user/privilege acp privs
* fix: category selector in manage/privileges
* fix: guests potentially becoming admins
* fix: bug in setting admin privs
* fix: some last minute things + api docs
* fix: some more last minute fixes
5 years ago
Barış Soner Uşaklı
7786187e84
fix: change event name so it doesnt trigger complete event
...
add data to complete event
5 years ago
Julian Lam
922d49be0b
fix(style): switch..case
5 years ago
Barış Soner Uşaklı
9ffcb6f7ba
feat: add results into results container
5 years ago
Barış Soner Uşaklı
f12d448ef5
feat: quick search changes
5 years ago
Barış Soner Uşaklı
bb1a56f0fe
feat: move quick search into search module
...
so it can be used directly
5 years ago
Barış Soner Uşaklı
cb662e15ce
feat: improve grunt restart/rebuild speed
5 years ago
Barış Soner Uşaklı
1f992cf371
fix: if category in selector has url use it
5 years ago
psychobunny
275e837bcf
fix: jquery xhtml violations
5 years ago