5360 Commits (4a63c20a72edb92379fc88769cc2e26da5c6abe3)

Author SHA1 Message Date
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ı 47d73a2ab4 fix: move checks into timeout 5 years ago
Barış Soner Uşaklı a9315aee7d fix: #8339, add missing translation 5 years ago
Barış Soner Uşaklı 84c20f919b fix: don't explode if server sends `checkSession` 5 years ago
Barış Soner Uşaklı 5781a2dc65
feat: fix session mismatch errors by clearing cookie on logout (#8338)
* feat: fix session mismatch errors by clearing cookie on logout

* feat: remove app.upateHeader

ported from 2.0

* feat: handle if user doesn't click button and just refreshes page
5 years ago
Julian Lam f0e59c149d fix: eliminate unnecessary try..catch 5 years ago
Julian Lam 8d995d1eb6 refactor: flags detail page
- Show account moderation history
- Ban and delete quick actions

Squashed commit of the following:

commit 0e782e65f4d48ae814708e510ec9d01bcdd914e0
Author: Julian Lam <julian@nodebb.org>
Date:   Tue May 26 20:24:53 2020 -0400

    fix(deps): use persona 10.1.41/vanilla 11.1.17

commit 369e073d3c3189d8ce181eb3d573489cbe54d4fc
Author: Julian Lam <julian@nodebb.org>
Date:   Tue May 26 20:23:24 2020 -0400

    fix: allow ban and delete exported methods to have cbs

commit b83a086ea31a77ec82d161306c0b9bc115cb2a3a
Merge: 525aae1ea 256ee45d3
Author: Julian Lam <julian@nodebb.org>
Date:   Tue May 26 08:54:25 2020 -0400

    Merge remote-tracking branch 'origin/master' into flags-improvements

commit 525aae1ea2e5d0103028a0f0c8dde05f172d088e
Author: Julian Lam <julian@nodebb.org>
Date:   Tue May 26 08:53:39 2020 -0400

    feat: integrate ban history and username changes to flag history list

commit 3e68ad28ba266f4c8620a676aa7f463f0a9d1df7
Author: Julian Lam <julian@nodebb.org>
Date:   Mon May 25 18:22:53 2020 -0400

    feat: allow ban and deletion from flag details page

commit a559ea1d8e8883385c2876868d855a0b93516c54
Author: Julian Lam <julian@nodebb.org>
Date:   Mon May 25 18:22:00 2020 -0400

    feat: export banAccount and deleteAccount methods from accounts module
5 years ago
Barış Soner Uşaklı d6c2764fe7 fix: don't trigger quick search if val doesn't change 5 years ago
Barış Soner Uşaklı 6f78113ee3 fix: prevent duplicate search triggers
if app.handleSearch is called from a plugin in action:ajaxify.end events are fired multiple time
5 years ago
Barış Soner Uşaklı ada45a34d5 fix: search post snipets incase content is plain text 5 years ago
Barış Soner Uşaklı cb662e15ce feat: improve grunt restart/rebuild speed 5 years ago
Barış Soner Uşaklı 2a00b0e973 fix: utils.params({url: ''}) 5 years ago
Barış Soner Uşaklı 40b5cbab2c refactor: remove console.log 5 years ago
Barış Soner Uşaklı 765b8156d5 feat: parse quick search tpl even if no results
allows showing "no results found" in theme
5 years ago
Barış Soner Uşaklı 1f992cf371 fix: if category in selector has url use it 5 years ago
Julian Lam 6765de3db3 fix: sortable topics even if only 1 pinned topic 5 years ago
Julian Lam dd2bc18927 fix: #8298, use class name added by jQueryUI instead
This reverts commit 2e57d8ac31.
5 years ago
Julian Lam 2e57d8ac31 fix: discoverability of topic reordering, re: #8298 5 years ago
Julian Lam f2c725c658 fix: topic search shortcut for macs 5 years ago
Barış Soner Uşaklı be305410fb fix: #8293, don't show error if there are no self messages 5 years ago
Barış Soner Uşaklı 9839346ec3 fix: #8290, if there are no filters go to ?reset=1
dont count ?page=1 as a filter
5 years ago
Barış Soner Uşaklı 3fcbd69149 feat: reduce infinite scroll area 5 years ago
psychobunny 275e837bcf fix: jquery xhtml violations 5 years ago
Opliko 4855f1deca
fix:#8274 Don't escape HTML in manage users (#8275)
Perhaps the HTML for managing groups should ba actually rendered as HTML to serve its function. fixes #8274
5 years ago
Julian Lam ccc6118d30
Testing suite integration for openapi spec (#8263)
* feat: testing suite integration for openapi spec

The testing suite now takes the openapi spec into account. It will
check each route defined, make a call to it, and compare the
response with the defined schema. Any mismatches will cause the
test to fail.

* fix(openapi): removed debug stuff from tests

* fix(openapi): fixed some tests

* fix(openapi): added additional check to tests, test fixes

* fix(openapi): better tests, fixed spec errors

* fix(openapi): bad conditional in test

* fix: oops

* fix(openapi): more tests fixing

* fix(openapi): more tests

* fix(openapi): fix some more tests

* fix: verbose'd an info log

* fix: topic pagination route returns schema-optimized pagination block

* fix(openapi): more test/spec fixes

* fix(openapi): accidentally sending in authenticated jar for anon routes

* fix(openapi): more test/spec fixes

* fix(openapi): more spec fixes

* fix: timestampReadable Invalid Date

* fix(openapi): more tests... almost there

* fix(openapi): more tests fixing

* fix(openapi): finally all tests passing

* fix(openapi): added reverse test to compare response to spec

... and fixed all the tests that broke

* fix: remove tests related to group covers, as route is gone

* fix(openapi): broken test on travis

* fix(openapi): broken test on travis

* fix(openapi): broken test on travis

* fix(openapi): object cache is not present for psql

* fix: tests

Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
5 years ago
Opliko 47e7e9572c Add loading=lazy tag to avatars
There is no reason why avatars should be a blocking reasorce, and browsers are now adding support for lazy loading of images (and iframes). According to [caniuse.com](https://caniuse.com/#feat=loading-lazy-attr) 62% of users use a browser that supports this attribute.

So there doesn't seem to be any downside to just adding this attribute here. It won't affect browsers that don't support it and might speed up page loads on browsers that do.
5 years ago
Barış Soner Uşaklı ba6d3fd372 fix: only trigger infinitescroll on scroll end 5 years ago
Julian Lam 1b425ef108 fix: no focus on find user modal 5 years ago
Julian Lam bcbf98aa4c fix: accidental fp precision on flag and acp dash graphs 5 years ago
Barış Soner Uşaklı 080317300a fix: #8221, fix parent selection 5 years ago
Julian Lam 5aa76cdf2f feat: pass in target element in action:topic.tools.load 5 years ago
Barış Soner Uşaklı 2f9c7c626f fix: #8203, fix user invites refreshing page 5 years ago
Barış Soner Uşaklı 4083a6e39b feat: add awaitable socket.emit 5 years ago
Barış Soner Uşaklı 6e5de39ba0 fix: also fix updating bookmark if sorting is newest_to_oldest 5 years ago
Barış Soner Uşaklı 32ada7c4e7 fix: #8188, fix bookmark if sorting is newest_to_oldest 5 years ago
Barış Soner Uşaklı bc93b5676c fix: #8175 5 years ago
Andrew Rodrigues 3c9689a5ac
feat: settings sorted list (#8170)
* feat: settings sorted list

see https://github.com/NodeBB/nodebb-plugin-quickstart/pull/9/files for sample
5 years ago
Barış Soner Uşaklı 067034082f fix: #6422, update deleted/restored messages 5 years ago
Baris Usakli 2e79480179 fix: #8151, don't crash if taskbar doesn't have element 5 years ago
Julian Lam 14655f8745 fix: no decimal places for category analytics 5 years ago
Julian Lam d6e3f3f058
fix: #8142, broken site if no server-side session (#8148)
* fix: #8142, broken site if no server-side session

During the `addHeader` middleware, a check is now done to see if
`req.session.meta` is present. This value is only present if the user
has a valid server-side session.  If it is missing, then it is probably
safe to assume that the server-side session was deleted (either
intentionally or accidentally). In that scenario, the client-side cookie
should be cleared.

Also, there was an issue where the sessionRefresh flag was never cleared
after a successful login, so that was fixed too.

* feat: exported method to get cookie config

* fix: don't clear cookie if cookie is being set

* fix: socket.io tests

Co-authored-by: Barış Soner Uşaklı <barisusakli@gmail.com>
5 years ago
Barış Soner Uşaklı 3077eb9428 fix: remove unused conditional, dont add dupe messages 5 years ago
Julian Lam 594cd7e176 fix: #8127 user join system message duplicated
- Now showing user-join message for chat owner in addition to the newly
  added user
- If a modal already exists for a room when createModal is called, don't
  return null, return the modal
5 years ago
Julian Lam 106c141ff5 fix: background-size in taskbar images 5 years ago
Barış Soner Uşaklı c8fb7f9246 fix: escape register query param 5 years ago
yossizahn 09d55581d8 Fix: ACP > manage > group: save disableLeave (#8123)
* Fix: ACP > manage > group: save disableLeave

* Fix eslint comma-dangle
5 years ago
Opliko 879acc85ae Add disable/enable category to category edit page (#8118) 5 years ago
Barış Soner Uşaklı e06c1bfcd2 fix: escape config.userLang/acpLang, don't allow invalid language codes 5 years ago
Barış Soner Uşaklı 5a8217de01 fix: #8105, fix export json on page load 5 years ago
Barış Soner Uşaklı c1b1ee61f3 fix: create user modal instantly closing 5 years ago
Aziz Khoury acca0b956e more secure isRelativeUrl (#8087) 5 years ago
Barış Soner Uşaklı 05c9fe2735 feat: #5272, allow changing user groups from manage users page 5 years ago
Baris Usakli 4d66978338 fix: #8073, configurable necroThreshold 5 years ago
Baris Usakli c2cd7de891 fix: #8069, dont show hidden groups in search 5 years ago
Barış Soner Uşaklı 3811e0a3df fix: #8042, dont show errors after clearing form 5 years ago
Baris Usakli 6c404b81fb fix: use the correct attribute name for widgets 5 years ago
Julian Lam 645d647248
feat: wip, better digest handling (+ eventual digest resend logic) (#7995)
* feat: wip, better digest handling (+ eventual digest resend logic)

- await emailer.send call in digest.send method
- save send success to a new sorted set digest:{interval}:byUid

* feat: continuing work on digest tools

- Added ACP page to view digest settings and delivery times per user

* feat: added paginator and stub buttons for resending digest

* feat: wrapping up digest revamp

- New language strings in ACP digest page
- Client-side ACP script for digest ACP page
- Websocket call for ACP page to execute digests
- Broke out logic to retrieve user digest settings to getUsersInterval

* fix: minor cleanup

* fix: #8010 and some style suggestions from baris

* fix: resolve confusing comment
5 years ago
Barış Soner Uşaklı 4b8897d9bc fix: lint 5 years ago
Aziz Khoury beea56b3c6 ie11 doesnt support Object.values (#7993) 5 years ago
Barış Soner Uşaklı 441dd86d29 fix: convert param to string in slugify
fixes adding users to privilege table
5 years ago
Barış Soner Uşaklı 95a372df85
fix: #7977, fix undefined url (#7978) 5 years ago
Barış Soner Uşaklı ca3be1f336
fix: #7974 (#7976) 5 years ago
Baris Usakli 485fbd2f14 feat: #7964, change all categories at once
allow passing cids to setCategoryWatchState and category.exists
5 years ago
Baris Usakli 554e67116f feat: remove ability to delete events from acp 5 years ago
Baris Usakli 5b458fc7ca fix: #7953, allow icon only group badges 5 years ago
Barış Soner Uşaklı c5f7b66c3a fix: new nav items will show group select 5 years ago
Barış Soner Uşaklı f402d7271a fix: move post and change owner 5 years ago
Barış Soner Uşaklı b19f0a686c fix: 404 on new groups with spaces 5 years ago
Barış Soner Uşaklı 2444ed5c88 feat: #7932, redirect to group details after creation
add private/hidden on group creation modal
5 years ago
Baris Usakli 95ab071254 fix: remove jquery 5 years ago
Barış Soner Uşaklı 9a7560049a feat: bypass cropper for gifs 5 years ago
Andrew Rodrigues 40f131a6bb
fix: potential for XSS here 5 years ago
Barış Soner Uşaklı e0fec86628 fix: dont crash if callback is undefined 5 years ago
Barış Soner Uşaklı 35a4ca2fe9 feat: add sm2x avatar class #7813 5 years ago
Barış Soner Uşaklı 781b3f1a9a fix: #7800, dont crash on resize 5 years ago
Barış Soner Uşaklı 1789ecb45c feat: increase search timeouts 5 years ago
Barış Soner Uşaklı ebe5ed22bb feat: make handleSearch public 5 years ago
Barış Soner Uşaklı 2a5fe2b8f4 fix: #7894, translate log in to view 5 years ago
Barış Soner Uşaklı 0843497dd4 fix: #7893, check private upload setting 5 years ago
Barış Soner Uşaklı 3887fc678b fix: #7824, update timeago settings on userlanguage change 5 years ago
Julian Lam 9b09ee0e93 feat: client-side taskbar.update method, deprecates .updateTitle() 5 years ago
Julian Lam 1796b65d34 feat: option to restrict group leaving, closes #7770 5 years ago
Barış Soner Uşaklı ad96b0e0db feat: preserver querystring when changing category sort 5 years ago
Barış Soner Uşaklı 21e81f961c fix: #7780 6 years ago
Barış Soner Uşaklı f31d30cd02 feat: add client side hook for quick search&normal search 6 years ago
Barış Soner Uşaklı 6f375482a0 refactor: async/await admin/controllers 6 years ago
Barış Soner Uşaklı 7162051905 fix: #7791 6 years ago
Julian Lam 0921230976 fix(style): updated code to follow new eslint recommendations
Squashed commit of the following:

commit f9ce878b269b3568f0d649309aae1af4dcfdfeef
Author: Julian Lam <julian@nodebb.org>
Date:   Tue Aug 13 14:30:46 2019 -0400

    fix(style): updated code to follow new eslint recommendations

commit 80dd370e413f22badb96ff2138e7991dfff6d836
Author: Julian Lam <julian@nodebb.org>
Date:   Tue Aug 13 14:14:58 2019 -0400

    fix(deps): update dependency sitemap to v4

    Squashed commit of the following:

    commit f4dd9cabb21e26fdc21f8413be822ea7c64251f8
    Author: Julian Lam <julian@nodebb.org>
    Date:   Tue Aug 13 11:33:05 2019 -0400

        fix: resolved breaking changes from sitemap v4 upgrade

    commit 9043415ee16dcc27a8dcc2e4479d1bc5e2d1b60e
    Merge: e3352b272 72590b346
    Author: Julian Lam <julian@nodebb.org>
    Date:   Tue Aug 13 11:09:55 2019 -0400

        Merge branch 'master' into renovate/sitemap-4.x

    commit e3352b272eb9400bdb00774973181397803765e4
    Author: Renovate Bot <bot@renovateapp.com>
    Date:   Mon Aug 12 07:59:05 2019 +0000

        fix(deps): update dependency sitemap to v4

commit 8e3c0cdcae22acc32d352be8bb72d60e7502dbc5
Author: Renovate Bot <bot@renovateapp.com>
Date:   Fri Aug 9 00:49:51 2019 +0000

    fix(deps): update dependency commander to v3

commit 2104449d38818f2fa4d44b3a58a0a168781acbfb
Author: Renovate Bot <bot@renovateapp.com>
Date:   Tue Aug 13 15:00:27 2019 +0000

    fix(deps): update dependency mongodb to v3.3.0

commit d2937f446a21131c070ae5d0ff33d67cfe465b8c
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Tue Aug 13 10:36:48 2019 -0400

    feat: async/await admin/controllers

commit 1b97e8b199f960dc24e5722702f27499ae049914
Author: Misty (Bot) <deploy@nodebb.org>
Date:   Tue Aug 13 09:28:39 2019 +0000

    Latest translations and fallbacks

commit 69a48957a2f0d23c4d194b664bda3a0431179c01
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Mon Aug 12 21:56:09 2019 -0400

    feat: async/await

commit b9b2a7e593a452de4bef6d0ab6abe368a3bdb8dd
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Mon Aug 12 20:58:29 2019 -0400

    feat: async/await refactor

    controllers/accounts

commit a8d43a175974a0c8ae3dc132bf51a7ed9a4c6305
Author: Baris Usakli <barisusakli@gmail.com>
Date:   Mon Aug 12 14:49:40 2019 -0400

    feat: async/await controllers/accounts

commit 2f25aae57bf9dbe98d655276770e56bed9ec023b
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Sun Aug 11 23:09:50 2019 -0400

    fix: #7831, fix pagination

    convert to async/await

commit c9e83f2374572264855a04156278eef256b0a20c
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Sun Aug 11 00:14:35 2019 -0400

    fix: remove empty line

commit 30be91b26c4dd7583412c4e8d56e9c1688e48a44
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Sun Aug 11 00:13:41 2019 -0400

    fix: remove useless catchs and empty line

commit 2e4a71c0b6104738f15ffbfe3246105b922fdfb3
Author: Renovate Bot <bot@renovateapp.com>
Date:   Sat Aug 10 06:51:50 2019 +0000

    chore(deps): update dependency eslint-config-airbnb-base to v14
6 years ago
Julian Lam 3d3fa8655d feat: new client-side hooks for chat minimize and close
closes #7805
6 years ago
Julian Lam af968c6ae5 feat: fire updateRemainingLength hook for chats 6 years ago
Barış Soner Uşaklı 666e0eaff9 fix: #7798, fix nested post selection 6 years ago
Julian Lam 4fb271c684
System chat messages (#7771)
* fix: removed duplicate checkContent call in addMessage

addMessage is called in one place (sendMessage), and the checks
are already contained there. addMessage is the lower level call
and so should be called only from within core itself.

* feat: #7330 chat system messages for join, leave, rename

* fix: add back content checking in .addMessage();

* fix: tests, and added .addSystemMessage() method

Tests were relying on message indices that changed due to the
new system messages.

* feat: add tests for system chat messages

* refactor: rewrite half of src/messaging/rooms.js, fix tests

* feat: #7743 messaging/room.js

* fix: tests for messaging/room.js, #7743

* fix: trying to fix tests

* fix: omg :rage2:
6 years ago
Baris Usakli 9f78bd7a12 fix: sitemap ajaxify 6 years ago
Barış Soner Uşaklı 53e1b349ae
Change post owner (#7752)
* feat: #7749, allow array of keys for setObject

* feat: sortedSetRemoveBulk

* feat: test for bulk remove

* feat: #7083, ability to change post ownership

* feat: #7083, fix tid:<tid>:posters

* feat: #7083, front end

* fix: #7752, psql methods

* fix: add missing await

* fix: maybe psql
6 years ago
Barış Soner Uşaklı 2b70e86f21 fix: #7751, make necro separator a partial 6 years ago
Barış Soner Uşaklı 4170abfd6b feat: add utils.promiseParallel 6 years ago
Julian Lam 16aae51726 fix: private upload img replacement should happen before img wrapping 6 years ago
Julian Lam 49e3a368f8 fix: #7423 private uploads are linked to login page, for guests 6 years ago
Barış Soner Uşaklı bd640a1107
Topic await errors (#7727)
* feat: derp await

* feat: restore user.getSettings

* feat: cleanup

* feat: make tid const

* feat: cleanup

* fix: tests

* feat: deprecate filter:controllers.topic.get

* feat: rewrite post-index logic

* feat: change calculation to match others

* fix: use .async

* feat: remove try/catch wrapper
6 years ago
Julian Lam a0c0ef1ba4
feat: ACP analytics API route (#7725)
* feat: added API route for retrieving analytics via REST API

* feat: sets is now optional, can pass in multiple sets

* fix: moved expand and added json button to panel header

* fix: matching api params to socket method

* fix: update json api button url on graph change

* fix: updated default counts based on passed in units
6 years ago
Baris Usakli ee4d78cae3 feat: closes #7718 6 years ago
Julian Lam af17c6e31c fix: remove debug code that should not have made it in 6 years ago
Julian Lam 69fae1a7e4 fix: output span in buildAvatar helper instead of div
In not-so-rare circumstances, the avatar generated is wrapped in
an anchor so that when clicked, it goes to the user profile.

Unfortunately, html 4 spec doesn't like block level elements
inside anchors (since an anchor is an inline element), and even
though we define html5 doctype, browsers still reorder the div
and anchor, beats me as to why.

So I can trick the browser by using a span. The css already styles
it as inline-block so no further fixes are required.
6 years ago
Barış Soner Uşaklı a39f0ef592 fix: #5570, create per category user post zsets 6 years ago
Aziz Khoury 13efbc9967 feat: change widget-* to data-widget-* (#7703)
* change widget-* to data-widget-*, original pr#5444 but backward compatible

* lint
6 years ago
Barış Soner Uşaklı e1c05e59c9 fix: restrict drag drop to pin icon, closes #7702
https://github.com/NodeBB/NodeBB/issues/6081
6 years ago
Barış Soner Uşaklı b53a60c278 feat: show best & latest posts on profile 6 years ago
Julian Lam 289dada5f7 fix(deps): update to eslint@6 6 years ago
Barış Soner Uşaklı 25ea634787 fix: #7659 add option to change cookie link url 6 years ago
Julian Lam 2523889990
refactor: replace avatar conditional code with buildAvatar helper (#7681)
* feat: helper for building avatars

* feat: benchpress truefalse globals, componentPrefix in buildAvatar

* refactor: remove componentPrefix

* feat: changes to buildAvatar helper

- removed extra .avatar-xl class in generics.less
- added support for component override
- "size" can be a number now

* fix: prevent overflow of alt text in avatars

* fix: update doc on buildAvatar helper
6 years ago
Aziz Khoury a6436716ea feat: hooks can now return promise or call callbacks
* hooks can now return promise or call callbacks, either way works

* cleanups

* moar cleanups and fix callback 1st null arg

* rm unnessesary spread
6 years ago
Barış Soner Uşaklı 5fa5e999f8
Plugin metrics (#7626)
* feat: add enable/disable checkbox for plugin usage

* feat: submit plugin data to packages.nodebb.org

only submit in production mode
submit once every 24 hours
dont submit for plugins that have "private": true in plugin.json
enabled on new installs
disabled on existing installs

* fix: hash not working after first send

fix statusCode

* fix: remove url

* feat: show compatibilty

* feat: add install question for submit plugin usage
6 years ago
Julian Lam c7f95ccecc
feat: design revamp of ACP events page (#7664)
* feat: design revamp of ACP events page

- minor UX changes
- new filter controls, filters moved to sidebar
- form usable without js
- start/end filters NOT programmed yet

* feat: events ACP limit by date and perPage

* feat: pre-fill applied filters on template render

* fix: missing translation for ACP events perPage filter

* fix: added some comments to explain setHours behaviour

* fix: stop - start + 1

* fix: socket tests

* fix: +inf, not just inf

* fix: tests, because I am an idiot
6 years ago
Barış Soner Uşaklı 8aef689f05 fix: no need for moderate bit for global mods and admins 6 years ago
Barış Soner Uşaklı 035f624758
Remove implicit mod privs. closes #6345 (#7648)
* feat: add upgrade script to give mods privs

* feat: give all privileges when making a moderator

* feat: remove implicit privs

* feat: give global mods default privs

* feat: more priv fixes

* feat: use lodash

* fix: remove implicit mod priv from topic delete

* fix: more privs

* fix: posts.canEdit

* fix: canDelete and canEdit

* fix: tests, remove console.log

* feat: shorter functions

* feat: add tests

* fix: uids

* fix: redis random test fail
6 years ago
Barış Soner Uşaklı ebb32e7891 fix: attribute name so it works for both templates 6 years ago
Barış Soner Uşaklı 0721bee146 feat: on category search reveal children and parents 6 years ago
Barış Soner Uşaklı 6cebc7f069 feat: #7627, close chat on ajaxify on mobile 6 years ago
Barış Soner Uşaklı e65ddc98b5 fix: https://github.com/barisusakli/nodebb-plugin-dbsearch/issues/53 6 years ago
Julian Lam a97e97b9c3 fix: incorrect pathname format for app.previousUrl 6 years ago
Barış Soner Uşaklı 106d52a47f fix: #7598, use notice element instead of alert 6 years ago
Julian Lam 7e5cb72a59 fix: #7618 save pathname into app.previousUrl ins. of entire url 6 years ago
Julian Lam a41769e61c
feat: update meta tags on ajaxify (#7580), fixes #7544
* feat: wip -- refresh meta tags on ajaxify

* feat: wrapped up meta tags update on ajaxify feature

* fix: removed commented-out line

* fix: removed another commented-out line
6 years ago
Barış Soner Uşaklı dfab231afd
Copy group privs (#7610)
* feat: ability to copy a groups privileges

ability to copy a group's privileges to all categories, or children of current category

* feat: switch to dropdown

added copy from category to groups

* fix: indents
6 years ago
yossizahn 1703233f48 fix: #7586, switchTimeagoLanguage shouldn't discriminate against languages w/o shorthands 6 years ago
Barış Soner Uşaklı bf6fc502c4 fix: #7564 6 years ago
Barış Soner Uşaklı c940a73359 fix: #7539 6 years ago
Barış Soner Uşaklı 9385c8e3ee feat: #7319 6 years ago
Barış Soner Uşaklı 32cf07d732 fix: #7464 6 years ago
Barış Soner Uşaklı f86d74d8b9 fix: #7424 6 years ago
Barış Soner Uşaklı 09681e6ccf fix: #7562 6 years ago
Julian Lam c38db4f765 feat: #7515
This reverts commit 81f8cfe3da.
6 years ago
Barış Soner Uşaklı 81f8cfe3da Revert "feat: #7515"
This reverts commit ac889db16b.
6 years ago
Barış Soner Uşaklı ac889db16b feat: #7515 6 years ago
Julian Lam 3871a02ccc fix: resolve CORS error on uploading via URL
On uploading a new profile picture via URL, a CORS error presents
itself during the .toDataUrl() call due to misconfigured CORS
handling in the library. The change here allows cropper.js to
check crossorigin attribute in image and handle appropriately.

Also, the error handling is improved so the error is caught on
Firefox, as it sends a different error message than on Chrome.
6 years ago
Barış Soner Uşaklı 2ee2cd528f feat: #7501 6 years ago
Barış Soner Uşaklı e906bea470 fix: escape search snippet closes #7506 6 years ago
Barış Soner Uşaklı 1f3554ff00 fix: #7503 6 years ago
Andrew Rodrigues 78e0b9834c fix: #7485 6 years ago
Andrew Rodrigues 24dcae2193 feat: manual password expiry. closes #7471 6 years ago
Julian Lam c289b904e6 fix: #7473 6 years ago
Andrew Rodrigues c37b2f2ed3 fix: #7378 6 years ago
Andrew Rodrigues dcdd41c7ce fix: #7454 6 years ago
Andrew Rodrigues 962b7f73d3 fix: #7472 6 years ago
Baris Usakli 7211dde7b9 feat: #7358 6 years ago
Baris Usakli 777ca03264 fix: #7432 6 years ago
Julian Lam d3a10628e7 fix: broken 50% border radius on emails, failing tests 6 years ago
Julian Lam 3a7f1c192b fix: failing tests from revamped-emails branch 6 years ago
Barış Soner Uşaklı 03305db845 fix: #7395 6 years ago
Julian Lam f32a992237
feat: revamp email templates to be more style agnostic (#7375)
* feat: re-designed digest

Updated design, logic no longer shows "no topics", just doesn't
show the list at all, teaser re-retrieved for digest so that it
always grabs a teaser even if there is no reply, changed default
email background to a light grey.

* fix: minor padding issues in digest

* fix: banned template

* fix: invitation.tpl

* fix: removed unused notif_chat and notif_post email templates

* fix: notification template

* fix: registration_accepted template

* fix: reset tpl

* fix: test tpl

* fix: email verify tpl

* fix: reset notify tpl

* fix: welcome tpl

* fix: additional minor font fixes

* fix: removed unused email header image assets

* fix: internationalised 'your daily digest' string

* fix: broken url in digest 🤦

* feat: added RTL support for emailer

/cc @PostMidnight
6 years ago
Barış Soner Uşaklı fc830c0f41 feat: lower search timeout 6 years ago
Barış Soner Uşaklı 8a0e1280d6 feat: quick search 6 years ago
Julian Lam 158f68eb47 fix: search.api not working on subfolder 6 years ago
Baris Usakli d2b8396764 feat: make topic search a function 6 years ago
Barış Soner Uşaklı c01d43e01d feat: quick search 6 years ago
Barış Soner Uşaklı d5ece9a4c3 fix: don't refresh page when enabling/disabling categories 6 years ago
Julian Lam ab0e547d23 fix: autocomplete not triggered if chat switched 6 years ago
Julian Lam 6c2f48f189 fix: #7366 6 years ago
Barış Soner Uşaklı 45c322aeb0 fix: #7357 6 years ago
Julian Lam e8f3c25676 fix: re-introducing indeterminate checkbox state to ACP privs 6 years ago
Julian Lam 0fffcb3855 fix: #7231, missing success alert on group name change in ACP 6 years ago
Julian Lam 96b6ce1f3c fix: eslint failure from daadcc4889 6 years ago
Andrew Rodrigues d864da1a2e
fix: move `action:alert.update` to after translator 6 years ago
Andrew Rodrigues daadcc4889
feat: add `action:alert.new`, `action:alert.update` hooks 6 years ago
Barış Soner Uşaklı fc6767e140 fix: #7098 6 years ago
Barış Soner Uşaklı e59b907d7c fix: #7229 6 years ago
Barış Soner Uşaklı 12c5899099 fix: #7339 6 years ago
Barış Soner Uşaklı 8e3bf58106 fix: #7338 6 years ago
Barış Soner Uşaklı c72da5595a fix: #6806
3 new global privileges
view:users
view:tags
view:groups
6 years ago
Barış Soner Uşaklı ae779ea4f9 fix: #7334 6 years ago
Barış Soner Uşaklı 9d1fcf4e36 fix: closes #7217 6 years ago
Barış Soner Uşaklı f6cfbbb520 fix: don't crash if body doesn't have `skin-` 6 years ago
Barış Soner Uşaklı c7abf07a3d fix: #7324
added disableToType option
6 years ago
Barış Soner Uşaklı 0366cfd8ec fix: allow regular groups to local login 6 years ago
Barış Soner Uşaklı 5353960ae7 fix: #7316 6 years ago
Julian Lam 8aebe88417 fix: #7306 6 years ago
Julian Lam 02a8ed9b11 feat: textcomplete over jquery-textcomplete, closes #7309 6 years ago
Julian Lam 7fb3c16882 fix: #7296, local login privilege available to registered-users only 6 years ago
Barış Soner Uşaklı d03220cdaf fix: #7094 6 years ago
Julian Lam 63061ffd37 feat: new hook filter:user.logout
- used for setting "next" for post logout redirection
6 years ago
Julian Lam cee47f78b2 fix: #7289 timeago shorthand toggle fails on non-existant language
- Exposing timeagoCodes to frontend
- Timeago language and shorthand toggling will fall back to 'en'
  if the requested language does not exist
6 years ago
Julian Lam 5ee173c2f6 fix: #7276 improper request for client-noskin.css 6 years ago
Barış Soner Uşaklı ac655564bb fix: post queue notifs
fix moderators not showing up immediately when adding them
6 years ago
Julian Lam 51b5fb9826 fix: added missing translation and error state for password change 6 years ago
Julian Lam 3859d417ce fix: #7236, header search stops working after header update 6 years ago
Julian Lam af4fd5979f Revert "fix: #7216, hide taskbar on chat modal invocation on mobile"
This reverts commit a70db885cf.
6 years ago
Julian Lam a70db885cf fix: #7216, hide taskbar on chat modal invocation on mobile 6 years ago
Barış Soner Uşaklı 428f587cbe fix: #7208 6 years ago
Barış Soner Uşaklı 28459d04c6 fix: #7187 6 years ago
Julian Lam 954af0f0d2 fix: #7176, FUOC on app.reskin() 6 years ago
Baris Usakli 8da3b2a487 fix: #7142
due to no refresh on login socket listeners were added more than once,
so remove them before adding the listeners
6 years ago
Barış Soner Uşaklı 8566205214 Merge branch 'master' of https://github.com/NodeBB/NodeBB 6 years ago
Barış Soner Uşaklı 03299736dc fix: #7179
don't consider pinned topics in widget areas
6 years ago
Julian Lam 629b35546c fix: #7167, composer and chat not closing on logout 6 years ago
Barış Soner Uşaklı 43e7cc0afb fix: shorter function 6 years ago
Barış Soner Uşaklı 2da0a65765 fix: #7162 6 years ago
Julian Lam 8e9de540b4 fix: #7136 socket.disconnect() now called on invalid session 6 years ago
Julian Lam 4873a339c1 fix: RTL not respected when changed in user settings, related to #7146 6 years ago
Julian Lam d81e0a5f5b fix: #7146 Better RTL handling on (de-)authentication
- RTL is applied (or unapplied) on login and logout depending on
  user language/guest-detected language.
- config is automatically saved into res.locals.config whenever
  loadConfig is called
- On login/logout, buildHeader is called instead of getting config
- On logout, req.uid is deleted instead of set to 0
6 years ago
Julian Lam 900f0a0b78 fix: #7118, invoking autoLocale middleware on logout
Also:
- firing client-side hook on header update
- updating bootbox locale on header update
6 years ago
Andrew Rodrigues 7fb29f4272 fix: closes #6784 (#7137)
* fix: closes #6784

* #6784 also fix homepage + subfolder installs

* #6784 fixes suburls as well (ex. /tags/x and /groups/y)

* #6784 more elegant solution @pitaj

and the last time I touch this function, lol

* #6784 regis, final answer

I lied in that last commit
6 years ago
Barış Soner Uşaklı ab81cca735 fix: 7100 6 years ago
Barış Soner Uşaklı 7e828404f6 fix: #7116
dont save relative_path in db for group covers
6 years ago
Barış Soner Uşaklı 29a85aecc7 fix: #7138 6 years ago
Baris Usakli b47f939bfc fix: lint 6 years ago
Baris Usakli 69e0dbbf4a fix: #7091, #7093 6 years ago
Baris Usakli 0c1ac4d6a2 feat: #7032 6 years ago
Barış Soner Uşaklı 4650a76036 fix: #7124 6 years ago
Barış Soner Uşaklı 9f5062682d fix: unread badge
- only increase unread badge if topic or category is watched
- fix logic for "there are new posts/topics" on /unread and /recent
6 years ago
Barış Soner Uşaklı eb7ae54f81
Category watch state (#7109)
* feat: wip, category watch change

* feat: pass data to client

* feat: allow changing state

* fix: account page categories

* fix: show in unread if topic is followed or category is watched

* feat: add default watch state to acp

* feat: save user category watch state

* feat: update unread recent pages

* fix: remove dupe code

* fix: flip conditions

* fix: handle empty arrays

* fix: ignore/watch on others profile

* feat: upgrade script for category states

if there are any users ignoring categories set their state in new zset and delete cid:<cid>:ignorers

* fix: upgrade

* fix: tests

* fix: redis count

* fix: more tests
6 years ago
Barış Soner Uşaklı f103390aa5 fix: #7103
update counter when user navigates to /unread
fix new topic alert on /unread
moved unread code from footer to unread
6 years ago
Barış Soner Uşaklı 74d0e88df3 fix: don't explode if there is no css el 6 years ago
Barış Soner Uşaklı 555c092f65 fix: dont send empty strings 6 years ago
Julian Lam ed46c5e24b fix: refreshing settings page on save if language changed 6 years ago
Julian Lam 5f3d1c76c8
fix: #7038, autoLocale logic not playing nicely with no-refresh auths (#7059)
* fix: #7038, autoLocale logic not playing nicely with no-refresh auths

- on login, req.query.lang is deleted (since it seems to be left over)
- on logout, the middleware.autoLocale is executed, which resets
  req.query.lang
- middleware.autoLocale is new, just refactored existing logic in
  webserver.js into new middleware method.

* style: tests, use lodash

* fix: timeago strings not switching languages on login or out
6 years ago
Barış Soner Uşaklı 2604cf6356 fix: #7074 6 years ago
Julian Lam 6df5668e64 fix: #7063, logout code should do hard page nav to / or data.next 6 years ago
Barış Soner Uşaklı 41357abb59 Merge branch 'master' of https://github.com/NodeBB/NodeBB 6 years ago
Barış Soner Uşaklı f581c052ee feat: #7023
- add category selector to privileges and category create modals
- allow category selector to work for multiple selectors on same page
6 years ago
Julian Lam 28a1fa780a fix: skin not changing after login or logout, #7038 6 years ago
Baris Usakli cd02e03f7b don't crash if meta.config is undefined 6 years ago
Peter Jaszkowiak ba619c7ec8 style(eslint): match operator-linebreak preferences 6 years ago
Peter Jaszkowiak 89c025d102 feat: close #7002, console message if mismatched origins 6 years ago
Barış Soner Uşaklı 58d4376f7e fix: #7030 6 years ago
Barış Soner Uşaklı e78aea1e86 close #7024
show error instead showing crop modal
6 years ago
Barış Soner Uşaklı ed1bf9a16f add more info to advanced db page 6 years ago
Barış Soner Uşaklı 27c016d68d fix alert 6 years ago
Julian Lam f6b92c1d3e fix: #7013, add cache buster to js-enabled.css 6 years ago
Baris Usakli e3bf21a3a0 closes #6993 6 years ago
Barış Soner Uşaklı 5c48793543 handle quoted strings 6 years ago
Barış Soner Uşaklı dc670a7bb5 closes #6983
after first pass of timeago, title contains "21 lis 2018, 10:30" which is invalid for new Date(), check before passing it to format
6 years ago
Barış Soner Uşaklı 625516e046 if there is no search el return
aka if theme doesnt support it
6 years ago
Barış Soner Uşaklı 63c0a9a3b7 closes #6928 6 years ago
Barış Soner Uşaklı 169a6680d5 #6928 6 years ago
Julian Lam 98c14e0e68 fix: removal of scroll anchoring code in favour of browser handling
closes #6150
6 years ago
Baris Usakli 1454fdceff closes #6874 6 years ago
Barış Soner Uşaklı f4a00f0b5f only init unread topics for loggedin users
dont call isFollowed
6 years ago
Barış Soner Uşaklı 33986f38e3 closes #6954 6 years ago
Barış Soner Uşaklı 1ce15e69ab dont require search and moustrap on topic page until needed 6 years ago
Barış Soner Uşaklı c0a75d735b fix requires 6 years ago
Barış Soner Uşaklı c02d584b53 reduce initial js payload/requests 6 years ago
Baris Usakli 0fd5210d37 really fix pagination on mobile 6 years ago
Baris Usakli 2624e302ab fix navigator on mobile 6 years ago
Baris Usakli c1ab753bc3 use paginationBlock 6 years ago
Baris Usakli c343b93a37 optimize ajaxify
- do not call $.timeago twice on topic load and for widgets
- do not use toLocaleString for each timeago string, use a single
Intl.DateTimeFormat instance instead
- do not call format for empty timeago strings, ie a post that isnt
edited doesnt have a timeago string
- do not call isTouchDevice for every element
- remove app.replaceSelfLinks, this is superceded with /me route
- store references to jquery objects in navigator instead of creating
them on every scroll
6 years ago
Barış Soner Uşaklı ac549f8bc7 closes #6957 6 years ago
Barış Soner Uşaklı f0dead7aba more tooltip work 6 years ago
Barış Soner Uşaklı 4b6b3d5436 set duration to 0 6 years ago
Barış Soner Uşaklı 85c832fcc6 add tooltip 6 years ago
Barış Soner Uşaklı fe8832ad5c dont update if index didnt change 6 years ago