Commit graph

105 commits

Author SHA1 Message Date
Carl Schwan
996be0f441 fix(comments): Don's catch invalid DriverException
These are nowadays also OCP\DB\Exception and if the id is not a numeric
deleting by id is also non working.

Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-09-02 11:55:58 +02:00
Carl Schwan
c21b8169ff refactor(querybuilder): Port away from qb::execute() in lib/
Replace by either executeStatement or executeQuery

Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-09-02 11:55:56 +02:00
Carl Schwan
94e2af0302 perf(comments): Also cache the comments count
Since we now have an easy way to fetch the comments count.

Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-08-21 11:30:56 +02:00
Carl Schwan
fa5548a1f3 perf(comments): Add a way to get comments for multiple objects at the same time
Signed-off-by: Carl Schwan <carl.schwan@nextclound.com>
2025-08-21 11:18:57 +02:00
Joas Schilling
6600c1ad86
feat(comments): Allow to filter by topmost parent id
Signed-off-by: Joas Schilling <coding@schilljs.com>
2025-07-10 12:58:46 +02:00
Ferdinand Thiessen
db94e10af0
fix: Prevent breaking change in IQueryBuilder
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-10-17 18:31:44 +02:00
Ferdinand Thiessen
ee02e3246d
feat(AppFramework): Add full support for date / time / datetime columns
This adds support for all Doctrine supported types, for the column types only the immutable variants needed to be added.
But especially those types are the important ones, as our **Entity** class works by detecting changes through setters.
Meaning if it is mutable, changes like `$entity->date->modfiy()` can not be detected, so the immutable types make more sense here.

Similar the parameter types needed to be added.

`Enity` and `QBMapper` needed to be adjusted so they support (auto map) those types, required when insert or update an entity.

Also added more tests, especially to make sure the mapper really serializes the values correctly.

Co-authored-by: Ferdinand Thiessen <opensource@fthiessen.de>
Co-authored-by: Côme Chilliet <91878298+come-nc@users.noreply.github.com>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2024-10-17 18:31:42 +02:00
provokateurin
9836e9b164
chore(deps): Update nextcloud/coding-standard to v1.3.1
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-19 14:21:20 +02:00
Anna Larch
8af7ecb257 chore: adjust code to adhere to coding standard
Signed-off-by: Anna Larch <anna@nextcloud.com>
2024-09-05 21:23:38 +02:00
Daniel Kesselberg
af6de04e9e
style: update codestyle for coding-standard 1.2.3
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2024-08-25 19:34:58 +02:00
Julius Härtl
9713dd3fa9
chore: Move comments event handler to use proper event dispatcher
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2024-06-26 18:13:07 +02:00
Andy Scherzinger
dae7c159f7
chore: Add SPDX header
Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
2024-05-24 13:11:22 +02:00
Côme Chilliet
ec5133b739 fix: Apply new coding standard to all files
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2024-04-02 14:16:21 +02:00
Robin Appelman
eb5832b8fa refactor: depricate getNumberOfUnreadCommentsForFolder and redo it's implementation based on getNumberOfUnreadCommentsForObjects
Signed-off-by: Robin Appelman <robin@icewind.nl>
2024-03-07 19:19:07 +01:00
Joas Schilling
6056928dc6
feat(comments): Add a meta data column for comments
Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-12-14 14:32:00 +01:00
Joas Schilling
aa5f037af7
chore: apply changes from Nextcloud coding standards 1.1.1
Signed-off-by: Joas Schilling <coding@schilljs.com>
Signed-off-by: Benjamin Gaussorgues <benjamin.gaussorgues@nextcloud.com>
2023-11-23 10:36:13 +01:00
Joas Schilling
4d2217073a
fix(comments): Use provided offset in best effort when loading comments
When we didn't find the "$lastKnownComment" the whole condition was ignored.
Now we still use the ID as an offset.
This is required as a fall-back for expired messages in Talk
and deleted comments in other apps.

Signed-off-by: Joas Schilling <coding@schilljs.com>
2023-09-18 20:09:32 +02:00
Côme Chilliet
7aa97dcc23
Throw if creation date is read before inserting into database
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-06-20 12:14:57 +02:00
Carl Schwan
9725d00329
Cleanup comments code
- Fix various psalm issues
- Add as much typing as possible while preserving stable API

Signed-off-by: Carl Schwan <carl@carlschwan.eu>
2023-06-20 10:55:20 +02:00
Vitor Mattos
7ab50ab010 Update expire_date column of table comments
Signed-off-by: Vitor Mattos <vitor@php.rio>
2023-04-26 11:29:56 -03:00
Vitor Mattos
e9295f739e Split the comments ids by chunks
Split the comments ids by chunks to prevent error with Oracle database
that can't do a query with more than 1000 parameters.

https://github.com/nextcloud/spreed/issues/8287

Signed-off-by: Vitor Mattos <vitor@php.rio>
2023-03-01 13:08:17 -03:00
Côme Chilliet
f5c361cf44
composer run cs:fix
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2023-01-20 11:45:08 +01:00
Joas Schilling
3f4fed3550
Fix forwarding the object id when searching comments
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-11-16 12:08:34 +01:00
Vitor Mattos
7a0648757a
Delete comments that expired now
Signed-off-by: Vitor Mattos <vitor@php.rio>
2022-07-25 11:30:20 -03:00
blizzz
c98e44507d
Merge pull request #32865 from nextcloud/bugfix/remove-unecessary-row
Remove unecessary row and make compatible with db schema
2022-07-08 23:11:10 +02:00
Joas Schilling
198224bf7a
Allow to expire comments of multiple objects with one call
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-07-01 15:59:29 +02:00
Vitor Mattos
c59b0c2ff7
Add comments expire date
https://github.com/nextcloud/spreed/pull/7327

Signed-off-by: Vitor Mattos <vitor@php.rio>
2022-06-15 11:58:29 -03:00
Vitor Mattos
45cdb36d5c
Remove unecessary row and make compatible with db schema
Signed-off-by: Vitor Mattos <vitor@php.rio>
2022-06-13 13:35:34 -03:00
Joas Schilling
5b82ad0b30
Create query parameters on correct objects to make debugging easier
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-05-23 13:02:36 +02:00
Joas Schilling
4e0595fb0f
Fix JSON error when comment has no reactions
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-05-09 09:53:49 +02:00
Joas Schilling
0d87335751
Merge pull request #31703 from nextcloud/techdebt/noid/emojihelper-interface
Emojihelper interface
2022-04-29 18:31:29 +02:00
Joas Schilling
7c85f8dea4
Make the order of reactions reliable
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-04-28 16:13:41 +02:00
Vitor Mattos
a75a22f3ac
Increase check if support reactions
Signed-off-by: Vitor Mattos <vitor@php.rio>
2022-04-28 07:09:44 -03:00
Joas Schilling
902476fa20
Extract the EmojiService from user status and add an OCP interface
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-04-28 07:09:44 -03:00
Joas Schilling
367be7c55f
Allow reactions also with other combined emojis
Honerful copying the EmojiService from UserStatus for now
I think this should be put into a decent place and then reused,
but I couldn't find somethin short term before beta1

Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-03-24 15:13:09 +01:00
Joas Schilling
d05dca0c1c
Simplify comment search in special cases
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-03-18 09:22:16 +01:00
Vitor Mattos
8ec7c5c8ae
Update ICommentsManager with reaction methods
Fix psalm errors
Reorder methods and remove return null
Use best pattern on docblock

Goals: update https://github.com/ChristophWurst/nextcloud_composer/ with reaction methods.
The script
https://github.com/ChristophWurst/nextcloud_composer/blob/master/build.sh
only get lib/public classes

Signed-off-by: Vitor Mattos <vitor@php.rio>
2022-02-03 12:52:18 -03:00
Joas Schilling
e8c66d0f89
Merge pull request #30794 from nextcloud/techdebt/noid/allow-to-get-comments-with-verb
Allow to get comments with a given set of verbs
2022-01-28 16:41:42 +01:00
Joas Schilling
1ceba64863
Allow to get comments with a given set of verbs
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-01-21 13:42:04 +01:00
Vitor Mattos
b9f74584a1
Fix check after change from string to mb_string
Signed-off-by: Vitor Mattos <vitor@php.rio>
2022-01-21 08:39:41 -03:00
Joas Schilling
c9f2f00777
Fix CS
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-01-21 08:39:40 -03:00
Joas Schilling
ecb98f772e
Throw if trying to save reaction without support
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-01-21 08:39:40 -03:00
Joas Schilling
e0b89cd576
Only check mb_strlen()
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-01-21 08:39:40 -03:00
Joas Schilling
d850dc0220
Remove order from groupConcat as it is not working everywhere
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-01-21 08:39:39 -03:00
Joas Schilling
189f9f96ce
Limit the summary and sort it afterwards
Signed-off-by: Joas Schilling <coding@schilljs.com>
2022-01-21 08:39:39 -03:00
Vitor Mattos
f071b4dfbb
Fix groupConcat and ordering on Oracle
Signed-off-by: Vitor Mattos <vitor@php.rio>
2022-01-21 08:39:39 -03:00
Vitor Mattos
f7cd995612
Order the reaction summary, improvements on validations
Signed-off-by: Vitor Mattos <vitor@php.rio>
2022-01-21 08:39:39 -03:00
Vitor Mattos
1ce894a50c
Disable reactions if database don't support utf8mb4
Fix column size

Signed-off-by: Vitor Mattos <vitor@php.rio>
2022-01-21 08:39:37 -03:00
Vitor Mattos
898e87fe1a
Rename vars and move logic to method
Signed-off-by: Vitor Mattos <vitor@php.rio>
2022-01-21 08:37:07 -03:00
Vitor Mattos
a7c0868a4c
Prevent violate constraint
Signed-off-by: Vitor Mattos <vitor@php.rio>
2022-01-21 08:37:06 -03:00