Commit Graph

147 Commits

Author SHA1 Message Date
Benjamin Gaussorgues 2b7415ef4d Merge pull request #60960 from nextcloud/carl/querybuilder-magic-number
refactor: Use new IQueryBuilder::MAX_IN_PARAMETERS
2026-06-10 23:09:30 +02:00
Louis 250635a9a8 Merge pull request #61150 from nextcloud/carl/speedup-tests
Speedup tests execution
2026-06-10 17:23:13 +02:00
Carl Schwan 0fee41df7c perf: Test chunking with a lower amount of entries
Use a lower array_chunk values when running the code in the tests for
the comment manager.

Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-06-10 11:49:29 +02:00
Joas Schilling b1e77f4294 fix(comments): Use capped memory cache for comments
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-06-09 07:17:59 +02:00
Ferdinand Thiessen 6e44f30652 fix(comments): load comments styles when the comments app is loaded
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-06-08 16:51:56 +02:00
Carl Schwan 994565fec7 refactor: Use new IQueryBuilder::MAX_IN_PARAMETERS
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-06-03 13:45:29 +02:00
Côme Chilliet 1ab09ec753 chore: Apply new coding standard to all files
The diff can be checked using: git diff --ignore-all-space --ignore-blank-lines
To see only the changes not related to blank lines.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-06-01 13:46:39 +02:00
Côme Chilliet 9680004b58 chore: Remove almost all uses of deprecated IServerContainer in lib/private
Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
2026-05-11 16:22:22 +02:00
Ferdinand Thiessen e0ba4d71b6 chore: add missing Override attribute to OC
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
2026-04-28 21:29:27 +02:00
Joas Schilling fe89541be3 fix(comments): Correctly treat end of message as end of code block/inline
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-03-17 15:34:47 +01:00
Joas Schilling 11959a1359 fix(comments): Don't return mentions in markdown code (by default)
Signed-off-by: Joas Schilling <coding@schilljs.com>
2026-03-16 11:49:07 +01:00
provokateurin f12cecb684 feat(rector): Enable SafeDeclareStrictTypesRector
Signed-off-by: provokateurin <kate@provokateurin.de>
2026-02-09 10:59:31 +01:00
Carl Schwan 7b6078875b refactor: Run rector on lib/private
Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2026-02-06 13:50:18 +01:00
Carl Schwan b4dfdf6492 refactor: Prefer using IFunctionBuilder than createFunction
Signed-off-by: Carl Schwan <carlschwan@kde.org>
2026-01-23 16:58:38 +01:00
Carl Schwan 3c9b937e28 refactor(comment): Port away from deprecated event comment constant
Create new events to replace deprecated CommentsEvent constant and use
them when creating CommentsEvents.

On the listener side, we can't yet use these events as deck still send
the old events.

Also fixes some issues reported by psalm level 3 on the comment app.

Signed-off-by: Carl Schwan <carl.schwan@nextcloud.com>
2025-12-04 17:38:53 +01:00
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 2ef74b9860 Merge pull request #47329 from nextcloud/feat/add-datetime-qbmapper-support
feat(AppFramework): Add full support for date / time / datetime columns
2024-10-18 19:05:08 +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
Joas Schilling b61a8cfeba fix(comments): Document supported types and provide psalm typing
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-10-17 14:27:42 +02:00
Joas Schilling 9d6c0afad6 feat(comments): Support mentioning emails
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-10-17 14:27: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
provokateurin c2fb7a72da fix(psalm): Fix @throws annotations
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-17 17:18:30 +02:00
provokateurin 9a63494fe4 fix(Comment): Initialize childrenCount as integer
Signed-off-by: provokateurin <kate@provokateurin.de>
2024-09-15 15:44:37 +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 e5b0c06b24 feat(comments): Allow mentions of federated users, groups and teams in the future
Signed-off-by: Joas Schilling <coding@schilljs.com>
2024-02-27 17:11:23 +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
Faraz Samapoor e7cc7653b8 Refactors "strpos" calls in lib/private to improve code readability.
Signed-off-by: Faraz Samapoor <fsamapoor@gmail.com>
2023-05-15 15:17:19 +03:30
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 b9def2f073 Set as optional argument
Signed-off-by: Vitor Mattos <vitor@php.rio>
2022-06-13 16:12:35 -03:00