Commit Graph

1571 Commits

Author SHA1 Message Date
Barış Soner Uşaklı
f4bbc5bd3f fix: another missing state 2023-11-07 10:49:42 -05:00
Barış Soner Uşaklı
3b91e8e27f fix: add missing tracking 2023-11-07 10:49:06 -05: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
Julian Lam
cefd4061ca fix: #12141, use apiv3 for category search module 2023-10-31 16:41:32 -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ı
1f8007476c feat: closes #12123, allow setting hh:mm for pin expiry
use locale for pin expiry and use short form
2023-10-26 11:14:58 -04:00
Barış Soner Uşaklı
f6120ebb9f fix: use template name instead of component
topic page can have suggested topics which has category component
2023-10-13 18:47:47 -04:00
Barış Soner Uşaklı
bffa788047 fix: lang key 2023-10-06 23:24:14 -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ı
82ea91920a refactor: update buildCategoryLabel 2023-10-02 10:38:47 -04:00
Barış Soner Uşaklı
f1a80d48cc 10411 (#12037)
* feat: add type to privilege maps

deprecate old hooks that are used for adding new privileges, new hooks are static:privileges.global.init/static:privileges.categories.init

* deprecate admin priv hooks

* fix: if type doesnt exist default to 'other'

* remove filter

* fix: copy privilege functions to use new filter instead of indices

allow static hooks to use sync functions

* fix: openapi

* test: fix template helper
2023-09-25 20:42:18 -04:00
Barış Soner Uşaklı
a0ae31d0a7 Merge branch 'master' into develop 2023-09-25 10:51:44 -04:00
Barış Soner Uşaklı
379ed0e2e8 refactor: remove nested promise 2023-09-25 10:49:14 -04:00
pkuanvil-uid1
aff19a6c6b fix: properly wrap promise to callback-style function (#12030)
Async function xhr use a mixture of await and callback, which is not correct when an exception is thrown before callback happens. Use only async/await for it and create a new callback-style wrapper.
2023-09-25 10:48:31 -04:00
Barış Soner Uşaklı
b518e03671 fix: #12032, truncate long category names 2023-09-24 20:08:49 -04:00
Barış Soner Uşaklı
600357444d feat: typing user list in chat 2023-09-02 21:18:00 -04:00
Barış Soner Uşaklı
92f5c146fd feat: add data-allow-dupe and data-navigator-ignore
these can be used by plugins like q&n to dupe a post
instead of relying on magic -1 index
2023-09-02 00:07:35 -04:00
Barış Soner Uşaklı
bdeca04951 fix: always return string from helper
if value ended up being 0 it wasnt output
2023-09-01 20:41:14 -04:00
Barış Soner Uşaklı
6ae0d207a7 fix: double escape issue, body is escaped in composer-default 2023-08-30 12:10:52 -04:00
Barış Soner Uşaklı
887dfd7da7 fix: #11969, match the server side behaviour for filters
if there is an error bubble all the way up
2023-08-30 11:19:29 -04:00
Barış Soner Uşaklı
29f77a8829 Merge branch 'master' into develop 2023-08-29 11:30:19 -04:00
Barış Soner Uşaklı
440299e661 fix: don't try to parse response if request is head #11960 2023-08-28 22:23:02 -04:00
Barış Soner Uşaklı
54706b1182 ability to pin chat messages (#11964) 2023-08-28 15:57:30 -04:00
Barış Soner Uşaklı
3d6668e7f0 fix: dont show chat notif if you are already in the room
mark all notifs from chat read when you you mark the chat room read
2023-08-24 22:42:36 -04:00
Barış Soner Uşaklı
26d06d9bb0 add some missing tooltips 2023-08-23 20:19:38 -04:00
Barış Soner Uşaklı
2e0964e6fe fix: bookmark scroll doing ajaxify
if target post is already on page
fix alerts crash due to double close
2023-08-21 20:18:56 -04:00
Barış Soner Uşaklı
980e0a3a71 wait for images to load before scrolling to bottom 2023-08-15 15:06:28 -04:00
Barış Soner Uşaklı
9349cb63cb feat: #11881, limit room names 2023-08-06 17:32:36 -04:00
Barış Soner Uşaklı
0316f324e7 feat: add toMid to chat messages 2023-08-06 02:33:28 -04:00
Barış Soner Uşaklı
e2a198c59a fix 0 timeouts 2023-08-04 13:35:34 -04:00
Barış Soner Uşaklı
881a28eb79 fix: #11875, simplify alerts and show progress
add alerts.info and alerts.warning
2023-08-03 16:09:53 -04:00
Julian Lam
007d735f92 fix: bug where api module would throw if response contained no content-type header 2023-08-03 12:16:03 -04:00
Barış Soner Uşaklı
f4e2e6176e fix: chat mark read regression 2023-08-01 21:19:19 -04:00
Opliko
b709ed9e63 feat: move to npm fontawesome dependency and support fa pro (#11820)
* feat: move to npm fontawesome dependency

* feat: move shims to a separate file

* fix: thin style prefix

* feat: proper style and FA pro handling in icon selector

* docs: add fontawesome properties to openAPI

* fix: default for styles

* feat: select all styles by default

Turns out browsers lazy-load fonts.
So since the actual CSS for each style is small, there is no perf reason for defaulting to free styles for FA pro users.
This means they'll have to only change one setting.

Still, the option to select styles remains for those who want it.

* fix: remove console.log
2023-07-31 11:22:09 -04:00
Barış Soner Uşaklı
f359a76702 feat: #11814, dont check content len for admins 2023-07-26 09:58:16 -04:00
Barış Soner Uşaklı
907c5fa687 feat: closes #11843, refresh search after changing filters 2023-07-26 09:42:10 -04:00
Barış Soner Uşaklı
f7ae8963ce https://github.com/NodeBB/NodeBB/issues/11818 2023-07-19 19:50:41 -04:00
Barış Soner Uşaklı
0dce4c46b5 https://github.com/NodeBB/NodeBB/issues/11818 2023-07-19 04:31:19 -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ı
edd8ca997f Merge branch 'master' into develop 2023-07-12 10:59:39 -04:00
Barış Soner Uşaklı
f2152953cd add displayname to parent posts 2023-07-12 10:40:25 -04:00
Julian Lam
2d016af82f feat: simplified api module handler logic, content-type detection/parsing 2023-07-11 11:03:00 -04:00
Julian Lam
7415b16d2a refactor: use fetch() throughout, instead of jQuery .ajax() 2023-07-10 16:45:05 -04:00
Julian Lam
8a53182657 fix: fetch handler not passing back errors or success payloads 2023-07-10 16:45:05 -04:00
Julian Lam
ed99ea20cb feat: allow FormData object to be passed in to the API module
Currently, only objects can be passed in, and it is automatically serialized into json and sent via jQuery .ajax().

This PR extends the module so a FormData object can be passed in, and updates the module so it uses Fetch API instead of jQuery.

At this time regular requests continue to use jQuery for backwards compatibility.

Use case: file uploads via API.
2023-07-10 16:45:05 -04:00
Barış Soner Uşaklı
8cc19fac6c add no replies class to navigator 2023-06-30 15:15:22 -04:00
Barış Soner Uşaklı
8b2b4fce37 add no replies class to navigator 2023-06-30 15:13:30 -04:00
Barış Soner Uşaklı
299f8864a2 hide nav if only one post, show after reply
hide after purge if only one post left
2023-06-22 23:13:23 -04:00
Barış Soner Uşaklı
cbd98c1b28 fix: closes #11731, set postIndex on pagination 2023-06-22 21:16:11 -04:00
Barış Soner Uşaklı
304f9b6eef remove ?page when changing filters 2023-06-15 09:58:02 -04:00