Commit Graph

370 Commits

Author SHA1 Message Date
Barış Soner Uşaklı
77382e3b7b feat: add visibility option to, closes #12942 2024-11-28 10:12:00 -05:00
Barış Soner Uşaklı
669c9c5027 feat: move website/location fields into custom user fields 2024-11-25 18:29:48 -05:00
Barış Soner Uşaklı
1412585856 fix: dont show chat upload btn if maxFileSize is 0, #12926 2024-11-21 10:05:16 -05:00
Barış Soner Uşaklı
9cf85cede3 feat: add date and multiselect custom fields 2024-11-20 11:01:01 -05:00
Barış Soner Uşaklı
bbf66c243b Squashed commit of the following:
commit afd96a00b1
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Thu Nov 7 10:42:33 2024 -0500

    chore: up themes

commit b40e530434
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Wed Nov 6 19:16:44 2024 -0500

    feat: add min:rep to custom fields

    add validation in profile.update

commit 4b5cb613e5
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Wed Nov 6 12:03:22 2024 -0500

    test: add openapi spec, move menu button

commit 0c551fa240
Merge: 13f39053c9 bc00df3cd9
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Wed Nov 6 11:48:05 2024 -0500

    Merge branch 'develop' into custom-user-fields

commit 13f39053c9
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Wed Jul 31 00:23:39 2024 -0400

    refactor: dont need delete function

commit f33c8849d8
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Tue Jul 30 21:30:00 2024 -0400

    feat: show custom fields on edit/profile

commit 5e1d8769d4
Author: Barış Soner Uşaklı <barisusakli@gmail.com>
Date:   Tue Jul 30 17:08:25 2024 -0400

    feat: add custom user fields acp page
2024-11-07 10:43:10 -05:00
Barış Soner Uşaklı
757d710115 feat: add read topics route
remove counts that were no longer displayed
up themes
2024-10-09 19:13:25 -04:00
Barış Soner Uşaklı
fedfce7bce perf: cache isAdmin, isGlobalMod checks 2024-06-14 11:06:30 -04:00
Barış Soner Uşaklı
1ced3eb9f1 don't crash on missing user 2024-06-11 18:25:59 -04:00
Barış Soner Uşaklı
adb0566f48 lint: remove unused 2024-06-11 17:47:53 -04:00
Barış Soner Uşaklı
1dadd16f4b perf: call getIconbackgrounds once
instead of 20x on topic/topic list load
2024-06-11 17:20:31 -04:00
Barış Soner Uşaklı
17cd3b684c move slug handling to middleware #12632 2024-06-11 16:24:56 -04:00
Barış Soner Uşaklı
5c6a853e94 perf: get rid of more calls, fix other profile pages #12632 2024-06-11 16:07:10 -04:00
Barış Soner Uşaklı
66adfa2999 fix: closes #12632, dont load data twice 2024-06-11 15:38:40 -04:00
Barış Soner Uşaklı
70b4a0e2ae feat: allow passing min,max to sortedSetsCardSum
to get rid of multiple db calls in profile page
2024-06-07 19:14:13 -04:00
Barış Soner Uşaklı
84fed97b41 feat: add tracking categories and make watching send notifications (#12147)
* feat: add tracking categories and make watching send notifications

upgrade script to change the defaults

* add missing spec

* test: one more spec
2023-11-03 12:49:17 -04:00
Barış Soner Uşaklı
4c4f3ac983 feat: add direct message link (#12138)
* feat: add direct message link

/message/:mid
add /:index? to chat routes
add copy link to chat messages
add messageCount to each room object
add infinitescroll in both directions to chat

* fix more tests

* test: more text fixes

* test: fix tests

* remove async

* dont crash if element not in dom

clamp scrollToIndex values to 0, msgCount
2023-10-31 10:15:06 -04:00
Barış Soner Uşaklı
b398321a5e Chat with privileged (#12092)
* Update headers.js

Fixes X-Upstream-Hostname header for os hostnames with invalid characters

* Added missing period in allowed hostname chars

Allowed hostname chars should include A-Za-z0-9-. based on https://man7.org/linux/man-pages/man7/hostname.7.html

* feat: add chat:privileged global privilege

to only allow chatting with privileged users

* test: fix priv test

* test: one more fix

---------

Co-authored-by: chadjw <chad.warner@gmail.com>
2023-10-17 13:19:25 -04:00
Barış Soner Uşaklı
9e9046bf65 feat: award notif filter 2023-10-16 19:18:17 -04:00
Barış Soner Uşaklı
1072b38b83 fix: lang key, type has _, lang keys changed to use - 2023-10-05 12:53:00 -04:00
Barış Soner Uşaklı
844cb91beb feat: update all language keys to use - instead of _ (#12059)
* feat: update all language keys to use - instead of _

* refactor: update language keys
2023-10-05 12:48:50 -04:00
Barış Soner Uşaklı
40d290c1a9 Tag follow (#12041)
* feat: tag follow

* on tag delete remove it from following users

* feat: on tag rename update user followed tags

and move the

* add new filter on /notifications

* feat: openapi updates

* chore: up themes

* chore: up peace

* refactor: remove unused title
2023-09-27 10:57:00 -04:00
Barış Soner Uşaklı
8db13d8e86 refactor: how admins change emails (#11973)
* refactor: how admins change emails

ability for admins to change emails from acp
ability for admins to change passwords from acp
only users themselves can use /user/<slug>/edit/email
group actions in manage users dropdown
admins can use the same modal from profile page instead of interstitial to update email
add missing checks to addEmail, if email take throw error
add targetUid to email change event

* test: bunch of baloney

* test: remove old test
2023-08-30 19:29:46 -04:00
Barış Soner Uşaklı
adb8e85d68 Merge branch 'master' into develop 2023-08-22 11:32:03 -04:00
Julian Lam
df65c60081 fix: improper SSO format (regression), update openapi schema 2023-08-21 15:43:32 -04:00
Julian Lam
4a846803e8 fix: improper SSO format (regression), update openapi schema 2023-08-21 15:38:41 -04:00
Julian Lam
db15e7c4b1 fix: return empty array for 'sso' otherwise 2023-08-21 15:31:58 -04:00
Julian Lam
a6c98de631 fix: #11906, remove retrieval of SSO data in getAllData internal method, only retrieve for calling user or admins, and only on edit page 2023-08-21 15:26:42 -04:00
Julian Lam
8aacc8f89c fix: #11906, remove retrieval of SSO data in getAllData internal method, only retrieve for calling user or admins, and only on edit page 2023-08-21 15:26:26 -04:00
Barış Soner Uşaklı
b65d8e823a feat: add new notif type for public rooms
change notification text to display more users
  * user1 wrote in general
  * user1 and user2 wrote in general
  * user1, user2 and user3 wrote in general
  * user1. user2 and 2 others wrote in general
2023-08-20 11:51:09 -04:00
Barış Soner Uşaklı
6b09b7c7d4 test: fix tests, dont hang if payload is string
closes #11933
2023-08-19 16:40:43 -04:00
Barış Soner Uşaklı
7dd143e1f8 fix: show access denied instead of internal error
when user doesn't have access to chats
2023-08-18 21:40:39 -04:00
Julian Lam
19e047e2d3 fix: #11906, userData.sso — don't serve deauthUrl or non-associated url if caller uid is not same as target uid 2023-08-17 17:18:30 -04:00
Barış Soner Uşaklı
9b901783fa Chat refactor (#11779)
* first part of chat refactor

remove per user chat zsets & store all mids in chat:room:<roomId>:mids
reverse uids in getUidsInRoom

* feat: create room button

public groups wip

* feat: public rooms

create chats:room zset
chat room deletion

* join socket.io room

* get rid of some calls that load all users in room

* dont load all users when loadRoom is called

* mange room users infinitescroll

dont load all members in api call

* IS for user list

ability to change groups field for public rooms
update groups field if group is renamed

* test: test fixes

* wip

* keep 150 messages

* fix extra awaits

fix dupe code in chat toggleReadState

* unread state for public rooms

* feat: faster push unread

* test: spec

* change base to harmony

* test: lint fixes

* fix language of chat with message

* add 2 methods for perf

messaging.getTeasers and getUsers(roomIds)
instead of loading one by one

* refactor: cleaner conditional

* test fix upgrade script fix

save timestamp of room creation in room object

* set progress.total

* don't check for guests/spiders

* public room unread fix

* add public unread counts

* mark read on send

* ignore instead of throwing

* doggy.gif

* fix: restore delete

* prevent entering chat rooms with

meta.enter

* fix self message causing mark unread

* ability to sort public rooms

* dont init sortable on mobile

* move chat-loaded class to core

* test: fix spec

* add missing keys

* use ajaxify

* refactor: store some refs

* fix: when user is deleted remove from public rooms as well

* feat: change how unread count is calculated

* get rid of cleaned content

get rid of mid

* add help text

* test: fix tests, add back mid

to prevent breaking change

* ability to search members of chat rooms

* remove

* derp

* perf: switch with  partial data

fix tests

* more fixes

if user leaves a group leave public rooms is he is no longer part of any of the groups that have access

fix the cache key used to get all public room ids

dont allow joining chat socket.io room if user is no longer part of group

* fix: lint

* fix: js error when trying to delete room after switching

* add isRoomPublic
2023-07-12 13:03:54 -04:00
Barış Soner Uşaklı
0f29ae5568 Merge branch 'master' into develop 2023-06-16 20:30:55 -04:00
Barış Soner Uşaklı
4e146eb50b fix: #11723, fix pagination on following/follower page 2023-06-16 20:30:44 -04:00
Barış Soner Uşaklı
556fd65d51 feat: custom skins panel in acp 2023-06-16 18:04:22 -04:00
Barış Soner Uşaklı
2edfe0ef3e feat: bring back noskin option
if forum sets a default skin there was no way for the user to go back to the no skin version
2023-06-10 11:55:59 -04:00
Barış Soner Uşaklı
7ba70d1561 Bootstrap5 (#10894)
* chore: up deps

* chore: up composer

* fix(deps): bump 2factor to v7

* chore: up harmony

* chore: up harmony

* fix: missing await

* feat: allow middlewares to pass in template values via res.locals

* feat: buildAccountData middleware automatically added ot all account routes

* fix: properly allow values in res.locals.templateValues to be added to the template data

* refactor: user/blocks

* refactor(accounts): categories and consent

* feat: automatically 404 if exposeUid or exposeGroupName come up empty

* refactor: remove calls to getUserDataByUserSlug for most account routes, since it is populated via middleware now

* fix: allow exposeUid and exposeGroupName to work with slugs with mixed capitalization

* fix: move reputation removal check to accountHelpers method

* test: skip i18n tests if ref branch when present is not develop

* fix(deps): bump theme versions

* fix(deps): bump ntfy and 2factor

* chore: up harmony

* fix: add missing return

* fix: #11191, only focus on search input on md environments and up

* feat: allow file uploads on mobile chat

closes https://github.com/NodeBB/NodeBB/issues/11217

* chore: up themes

* chore: add lang string

* fix(deps): bump ntfy to 1.0.15

* refactor: use new if/each syntax

* chore: up composer

* fix: regression from user helper refactor

* chore: up harmony

* chore: up composer

* chore: up harmony

* chore: up harmony

* chore: up harmony

* chore: fix composer version

* feat: add increment helper

* chore: up harmony

* fix: #11228 no timestamps in future 

* chore: up harmony

* check config.theme as well

fire action:posts.loaded after processing dom

* chore: up harmony

* chore: up harmony

* chore: up harmony

* chore: up themes

* chore: up harmony

* remove extra class

* refactor: move these to core from harmony

* chore: up widgets

* chore: up widgets

* height auto

* fix: closes #11238

* dont focus inputs, annoying on mobile

* fix: dont focus twice, only focus on chat input on desktop

dont wrap widget footer in row

* chore: up harmony

* chore: up harmony

* update chat window

* chore: up themes

* fix cache buster for skins

* chat fixes

* chore: up harmony

* chore: up composer

* refactor: change hook logs to debug

* fix: scroll to post right after adding to dom

* fix: hash scrolling and highlighting correct post

* test: re-enable read API schema tests

* fix: add back schema changes for 179faa2270 and c3920ccb10

* fix: schema changes from 488f0978a4

* fix: schema changes for f4cf482a87

* fix: schema update for be6bbabd0e

* fix: schema changes for 69c96078ea

* fix: schema changes for d1364c3130

* fix: schema changes for 84ff1152f7

* fix: schema changes for b860c2605c

* fix: schema changes for 23cb67a112

* fix: schema changes for b916e42f40

* fix: schema change for a9bbb586fc

* fix: schema changes for 4b738c8cd3

* fix: schema changes for 58b5781cea

* fix: schema changes for 794bf01b21

* fix: schema changes for 80ea12c1c1, e368feef51, and 52ead114be

* fix: composer-default object in config?

* fix: schema changes for 9acdc6808c and 0930934200

* fix: schema changes for c0a52924f1

* fix: schema change for aba420a3f3, move loggedInUser to optional props

* fix: schema changes for 8c67031609

* fix: schema changes for 27e53b42f3

* fix: schema changes for 2835966518

* fix: breaking test for email confirmation API call

* fix: schema changes for refactored search page

* fix: schema changes for user object

* fix: schema changes for 9f531f957e

* fix: schema changes for c4042c70de and 23175110a2

* fix: schema changes for 9b3616b103

* fix: schema changes for 5afd5de07d

* fix: schema change for 1d7baf1217

* fix: schema changes for 57bfb37c55 and be6bbabd0e

* fix: schema changes for 6e86b4afa2 and 3efad2e13b and 68f66223e7

* fix: allowing optional qs prop in pagination keys (not sure why this didn't break before)

* fix: re-login on email change

* fix: schema changes for c926358d73

* fix: schema changes for 388a8270c9

* fix: schema change for 2658bcc821

* fix: no need to call account middlewares for chats routes

* fix: schema changes for 71743affc3

* fix: final schema changes

* test: support for anyOf and oneOf

* fix: check thumb

* dont scroll to top on back press

* remove group log

* fix: add top margin to merged and deleted alerts

* chore: up widgets

* fix: improve fix-lists mixin

* chore: up harmony/composer

* feat: allow hiding quicksearch results during search

* dont record searches made by composer

* chore: up 54

* chore: up spam be gone

* feat: add prev/next page and page count into mobile paginator

* chore: up harmony

* chore: up harmony

* use old style for IS

* fix: hide entire toolbar row if no posts or not singlePost

* fix: updated messaging for post-queue template, #11206

* fix: btn-sm on post queue back button

* fix: bump harmony, closes #11206

* fix: remove unused alert module import

* fix: bump harmony

* fix: bump harmony

* chore: up harmony

* refactor: IS scrolltop

* fix: update users:search-user-for-chat source string

* feat: support for mark-read toggle on chats dropdown and recent chats list

* feat: api v3 calls to mark chat read/unread

* feat: send event:chats.mark socket event on mark read or unread

* refactor: allow frontend to mark chats as unread, use new API v3 routes instead of socket calls, better frontend event handling

* docs: openapi schema updates for chat marking

* fix: allow unread state toggling in chats dropdown too

* fix: issue where repeated openings of the chats dropdown would continually add events for mark-read/unread

* fix: debug log

* refactor: move userSearch filter to a module

* feat(routes): allow remounting /categories (#11230)

* feat: send flags count to frontend on flags list page

* refactor: filter form client-side js to extract out some logic

* fix: applyFilters to not take any arguments, update selectedCids in updateButton instead of onHidden

* fix: use userFilter module for assignee, reporterId, targetUid

* fix(openapi): schema changes for updated flags page

* fix: dont allow adding duplicates to userFilter

* use same var

* remove log

* fix: closes #11282

* feat: lang key for x-topics

* chore: up harmony

* chore: up emoji

* chore: up harmony

* fix: update userFilter to allow new option `selectedBlock`

* fix: wrong block name passed to userFilter

* fix: https://github.com/NodeBB/NodeBB/issues/11283

* fix: chats, allow multiple dropdowns like in harmony

* chore: up harmony

* refactor: flag note adding/editing, closes #11285

* fix: remove old prepareEdit logic

* chore: add caveat about hacky code block in userFilter module

* fix: placeholders for userFilter module

* refactor: navigator so it works with multiple thumbs/navigators

* chore: up harmony

* fix: closes #11287, destroy quick reply autocomplete

on navigation

* fix: filter disabled categories on user categories page count

* chore: up harmony

* docs: update openapi spec to include info about passing in timestamps for topic creation, removing timestamp as valid request param for topic replying

* fix: send back null values on ACP search dashboard for startDate and endDate if not expicitly passed in, fix tests

* fix: tweak table order in ACP dash searches

* fix: only invoke navigator click drag on left mouse button

* feat: add back unread indicator to navigator

* clear bookmark on mark unread

* fix: navigator crash on ajaxify

* better thumb top calculation

* fix: reset user bookmark when topic is marked unread

* Revert "fix: reset user bookmark when topic is marked unread"

This reverts commit 9bcd85c2c6.

* fix: update unread indicator on scroll, add unread count

* chore: bump harmony

* fix: crash on navigator unread update when backing out of a topic

* fix: closes #11183

* fix: update topics:recent zset when rescheduling a topic

* fix: dupe quote button, increase delay, hide immediately on empty selection

* fix: navigator not showing up on first load

* refactor: remove glance

assorted fixes to navigator
dont reduce remaning count if user scrolls down and up quickly
only call topic.navigatorCallback when index changes

* more sanity checks for bookmark

dont allow setting bookmark higher than topic postcount

* closes #11218, 🚋

* Revert "fix: update topics:recent zset when rescheduling a topic"

This reverts commit 737973cca9.

* fix: #11306, show proper error if queued post doesn't exist

was showing no-privileges if someone else accepted the post

* https://github.com/NodeBB/NodeBB/issues/11307

dont use li

* chore: up harmony

* chore: bump version string

* fix: copy paste fail

* feat: closes #7382, tag filtering

add client side support for filtering by tags on /category, /recent and /unread

* chore: up harmony

* chore: up harmony

* Revert "fix: add back req.query fallback for backwards compatibility" [breaking]

This reverts commit cf6cc2c454.
This commit is no longer required as passing in a CSRF token via query parameter is no longer supported as of NodeBB v3.x

This is a breaking change.

* fix: pass csrf token in form data, re: NodeBB/NodeBB#11309

* chore: up deps

* fix: tests, use x-csrf-token query param removed

* test: fix csrf_token

* lint: remove unused

* feat: add itemprop="image" to avatar helper

* fix: get chat upload button in chat modal

* breaking: remove deprecated socket.io methods

* test: update messaging tests to not use sockets

* fix: parent post links

* fix: prevent post tooltip if mouse leaves before data/tpl is loaded

* chore: up harmony

* chore: up harmony

* chore: up harmony

* chore: up harmony

* fix: nested replies indices

* fix(deps): bump 2factor

* feat: add loggedIn user to all api routes

* chore: up themes

* refactor: audit admin v3 write api routes as per #11321

* refactor: audit category v3 write api routes as per #11321 [breaking]

docs: fix open api spec for #11321

* refactor: audit chat v3 write api routes as per #11321

* refactor: audit files v3 write api routes as per #11321

* refactor: audit flags v3 write api routes as per #11321

* refactor: audit posts v3 write api routes as per #11321

* refactor: audit topics v3 write api routes as per #11321

* refactor: audit users v3 write api routes as per #11321

* fix: lang string

* remove min height

* fix: empty topic/labels taking up space

* fix: tag filtering when changing filter to watched topics

or changing popular time limit to month

* chore: up harmony

* fix: closes #11354, show no post error if queued post already accepted/rejected

* test: #11354

* test: #11354

* fix(deps): bump 2factor

* fix: #11357 clear cache on thumb remove

* fix: thumb remove on windows, closes #11357

* test: openapi for thumbs

* test: fix openapi

---------

Co-authored-by: Julian Lam <julian@nodebb.org>
Co-authored-by: Opliko <opliko.reg@protonmail.com>
2023-03-17 11:58:31 -04:00
Barış Soner Uşaklı
6d819b056e fix: notif filter selecte field 2023-01-30 10:43:02 -05:00
Julian Lam
cba9047f67 fix: #10805, hide unconfirmed emails from user data retrieval methods 2022-08-03 12:36:11 -04:00
Julian Lam
0529f2fb5d fix: use user.hidePrivateData(); more consistently across user retrieval endpoints 2022-07-26 14:27:17 -04:00
Julian Lam
c26be43ac5 feat: fire hook to allow plugins to filter the pids returned in a user profile
/cc julianlam/nodebb-plugin-support-forum#14
2022-07-26 14:27:17 -04:00
Barış Soner Uşaklı
be6bbabd0e feat: ability to mute users
new mute privilege
2022-03-11 23:07:20 -05:00
Barış Soner Uşaklı
7ee4e4e004 fix: #10357 2022-03-02 15:00:27 -05:00
Julian Lam
5479f36443 fix: #10358, bad uploads path 2022-03-02 11:41:15 -05:00
Barış Soner Uşaklı
350052ec50 fix: language keys 2022-02-09 17:50:08 -05:00
Barış Soner Uşaklı
d70ce3a937 fix: #10273, properly calculate item count for best/controversial 2022-02-09 17:42:41 -05:00
Barış Soner Uşaklı
6be330f2d6 lint: remove unused require 2022-02-04 21:56:58 -05:00
Barış Soner Uşaklı
079c487dcb fix: controversial posts/bests posts not showing anything
fix upgrade script so posts with negative votes are stored, a post can have 10 upvotes and 2 downvotes
fix missing negative votes checks
remove unnecessary pids flters since the cids are only already filtered by topics:read
2022-02-04 21:52:44 -05:00
Julian Lam
5cff6e3f95 fix: bug where .reduce() exploded due to no initial value, if input value was an empty array 2022-02-04 14:33:58 -05:00