Commit Graph

85 Commits

Author SHA1 Message Date
Domagoj Kriskovic a446c3f588 Add notifications web module (#28983)
* Add notifications web module

* implement getThreadMessage in chat

* Save comment mention notification

* check if recipient is a real user

* move commentMentionDelay

* use module-hooks types

* remove router

* updated collection name

GitOrigin-RevId: cf8240c88aac7d7e4de4bf51cfe2608b6b7e7918
2025-10-20 08:05:20 +00:00
Domagoj Kriskovic 7a46cb5c03 Support for deleting and editing chat messages (#28204)
* Initial server-side delete of chat message plus dropdown

* Update chat pane after deleting message

* Chat message dropdown styling

* Add confirmation dialog for deleting a message

* Refactor chat message grouping to allow deletion of individual messages

* Delete other user's deleted message from chat pane

* Implement message editing

* Styling

* Make the dropdown appear overlap with the button slightly so that the menu stays visible when the user moves their cursor into the menu when the menu is positioned above the button

* Submit edit with Enter key

* Add edited indicator to edited chat messages

* Add animation to chat message deletion

* Tidying, edit chat message textarea improvements

* Add types to message-list-utils

* update dependencies

* edit/delete for ide-redesign

* fix type errors in tests

* filter deleted messages from group

* promisify ChatController

* fix tests and translations

* add new tests

* chat-context tests

* fix message-list-appender tests

* add new tests for message-list-utils

* Update services/web/test/frontend/features/chat/context/chat-context.test.tsx

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* preserve original content when canceling edits

* update delete message translation

* hide dropdown only if not already shown

* remove delete animation

* fix lint error

* fix chat.yaml

* hide under feature flag

---------

Co-authored-by: Tim Down <158919+timdown@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
GitOrigin-RevId: 12521886a1a59ccd564851df19e5d46c70d328f5
2025-10-02 08:05:58 +00:00
Domagoj Kriskovic 423144ea61 [dsmp] Add endpoint to retrieve a single message from chat (#28242)
* [dsmp] Add endpoint to retrieve a single message from chat

* use user:null in case is deleted

GitOrigin-RevId: f42360c2e05cfe93fa11230ac3cc311bdb044c1d
2025-09-05 08:06:15 +00:00
Domagoj Kriskovic 13d5c40cde Add getThread in Chat service and use it in AuthorizationMiddleware (#28041)
* Add getThread in Chat service and use it in AuthorizationMiddleware

* ensure user_id is a string, not ObjectId

* fix tests

GitOrigin-RevId: 42d63366b9b9350d7cdbcbc3b9f4761d9f55b49a
2025-08-25 08:05:25 +00:00
Eric Mc Sween df1be93ec3 Merge pull request #27936 from overleaf/em-unit-tests-mongo
Make Mongo available to unit tests in all services

GitOrigin-RevId: b65bbb69883d5bba31d09802b89f35bdc523fe4d
2025-08-25 08:05:19 +00:00
Eric Mc Sween 5c455825c0 Merge pull request #23673 from overleaf/em-reviewer-role-delete-replies
Let reviewers delete their own comments

GitOrigin-RevId: bd5341a917a3e886dc573d7e42d12343da6700cd
2025-02-19 09:05:21 +00:00
Antoine Clausse 4cf55bf99c Add prefer-node-protocol ESLint rule (#21532)
* Add `unicorn/prefer-node-protocol`

* Fix `unicorn/prefer-node-protocol` ESLint errors

* Run `npm run format:fix`

* Add sandboxed-module sourceTransformers in mocha setups

Fix `no such file or directory, open 'node:fs'` in `sandboxed-module`

* Remove `node:` in the SandboxedModule requires

* Fix new linting errors with `node:`

GitOrigin-RevId: 68f6e31e2191fcff4cb8058dd0a6914c14f59926
2024-11-11 09:04:51 +00:00
Mathias Jakobsen d557782c12 Merge pull request #18803 from overleaf/revert-18801-mj-revert-big-deploy
[web+chat] Redo deploy

GitOrigin-RevId: a056bf20d49a39e71e03db740f57e8506dfc6b71
2024-06-11 08:03:59 +00:00
Mathias Jakobsen 646d94a6c1 Merge pull request #18801 from overleaf/mj-revert-big-deploy
[web+chat] Revert big deploy

GitOrigin-RevId: f4d068cbea7e5f5d59a3d698e2def2f94c9b6322
2024-06-10 08:04:33 +00:00
Mathias Jakobsen a38f7b16b0 Merge pull request #18710 from overleaf/mj-web-chat-send-thread-data
[chat+web] Inform frontend when duplicating threads

GitOrigin-RevId: 285afee8f5a016a8e7ac58e9538cc3ec8362681d
2024-06-10 08:04:25 +00:00
Mathias Jakobsen 0ad83984cc Merge pull request #18637 from overleaf/mj-chat-duplicate-threads
[chat] Add endpoint for duplicating comment threads

GitOrigin-RevId: 0b3fb1b836150ccb6d213ab2bba6ce7ff6c69b4a
2024-06-10 08:04:16 +00:00
Andrew Rumble 83a628c355 Merge pull request #18289 from overleaf/ac-ar-eslint-return-await
Add ESLint rule @typescript-eslint/return-await to backend services

GitOrigin-RevId: 75e3e32597827fcc852e69d479515fc72e8f45e4
2024-05-27 10:22:49 +00:00
Eric Mc Sween 0bb1cdf874 Merge pull request #18374 from overleaf/em-chat-resolved-thread-ids
Add resolved-thread-ids endpoint to chat

GitOrigin-RevId: 211dee88707f2d7fb1c0c8805a1f6ac28dca494d
2024-05-27 10:22:15 +00:00
David 7dbae5bb02 Merge pull request #16873 from overleaf/dp-mongo-command-monitoring
Use mongo command monitoring to add timing metrics

GitOrigin-RevId: e7e5dd5cca1ba3802c02198ccf81058d4da3f1e7
2024-02-23 09:02:55 +00:00
Christopher Hoskin e6758726ea Merge pull request #15241 from overleaf/em-gcp-opentelemetry
Replace the GCP trace agent with OpenTelemetry

GitOrigin-RevId: 591410029349e4ef5a39a5b79868e57c7bd089b6
2023-10-19 08:02:52 +00:00
Christopher Hoskin 007fce2938 Merge pull request #15261 from overleaf/csh-issue-11625-mongo-ug-5-chat
Upgrade mongodb module for chat from 4.11.0 to 6.1.0

GitOrigin-RevId: d4ce72b093fd09638a575a14f8945c8cb9ec7f3d
2023-10-18 08:04:27 +00:00
Eric Mc Sween fced78ae31 Merge pull request #13255 from overleaf/em-socket-leak-detection
Reintroduce socket leak detection in all services

GitOrigin-RevId: 0a9a1ced0b886dbb267cb46beb5da7d0133d39aa
2023-05-31 08:05:24 +00:00
Eric Mc Sween 1198b5cbda Merge pull request #13253 from overleaf/em-revert-leaked-socket-detection
Revert leaked socket detection

GitOrigin-RevId: 0f17864122a17fc69d0dac1ad5e2775805639871
2023-05-30 08:04:09 +00:00
Eric Mc Sween 04af0aa0fa Merge pull request #13214 from overleaf/bg-add-socket-leak-detection-to-all-services
add socket leak detection to all services

GitOrigin-RevId: 9481222258b796ca8c3b50cdd7ce60c05f0f9f61
2023-05-30 08:03:58 +00:00
Jakob Ackermann dd5f9d874b Merge pull request #13055 from overleaf/jpa-monitor-sockets-everywhere
[metrics] collect HTTP socket stats for all the services

GitOrigin-RevId: 52872f4ca46d8cf351f7f4b4df90f9d6b05010b3
2023-05-23 08:05:03 +00:00
Eric Mc Sween 7dc53acfe7 Merge pull request #11680 from overleaf/em-mongo-pool-monitoring
Mongo connection pool monitoring

GitOrigin-RevId: 050e50e7e67061ccbf39a710ca4532eafd423365
2023-02-09 14:34:35 +00:00
Lucie Germain 7023d47e54 Merge pull request #11080 from overleaf/lg-openapi-chat-metrics
Fix metrics for chat service

GitOrigin-RevId: fcc6b3e1e5bf411d8c9fe48a6913ad1c0a9199f2
2023-01-06 09:04:03 +00:00
Lucie Germain 6f1436631c Merge pull request #11051 from overleaf/revert-10983-revert-10901-lg-openapi-chat
Migrate chat service to OpenAPI : (Revert of the Revert)

GitOrigin-RevId: 77a34fef20f77344e01461d42b531c623cf28203
2023-01-05 09:05:00 +00:00
Lucie Germain 0ad90d3d4c Merge pull request #10983 from overleaf/revert-10901-lg-openapi-chat
Revert "Migrate chat service to OpenAPI"

GitOrigin-RevId: 39bdfd98bc55f8d9d56fb18bb288749aa13f25e0
2022-12-22 09:04:56 +00:00
Lucie Germain c300a37677 Merge pull request #10901 from overleaf/lg-openapi-chat
Migrate chat service to OpenAPI

GitOrigin-RevId: dc49c52e5e23aa6650e9a3fbe57ae6ac9be1c1da
2022-12-22 09:04:40 +00:00
Eric Mc Sween 161ad836f4 Merge pull request #10815 from overleaf/em-esm-chat
Move chat service to ES modules

GitOrigin-RevId: c08ae8328b8f3b539e6cfe052834b84bb3756330
2022-12-14 09:03:03 +00:00
Eric Mc Sween e06dd13ee1 Merge pull request #10753 from overleaf/em-upgrade-mongo-driver
Upgrade the Mongo driver in the chat service

GitOrigin-RevId: 12808e624b75f0adc7fd474f774b855dc2eadefd
2022-12-09 09:04:17 +00:00
Eric Mc Sween 7527da7c29 Merge pull request #7906 from overleaf/em-downgrade-logs
Downgrade all INFO logs to DEBUG

GitOrigin-RevId: 05ed582ef0721fcada059f0ad158565f50feca27
2022-05-17 08:05:26 +00:00
Jakob Ackermann ed9324e1d3 Merge pull request #7317 from overleaf/jpa-return-chat-edit-status
[misc] return non-success status from editing chat messages back to web

GitOrigin-RevId: a3d5f59ac1d92662ac9e9c94b1516441d66e831a
2022-04-05 12:18:19 +00:00
Jakob Ackermann c54bc59cbc Merge pull request #7285 from overleaf/jpa-enforce-edit-own-comment
[misc] block users from editing other users comments

GitOrigin-RevId: 6f2ba38daf8089a478d79ca495b3557a57390b43
2022-04-05 12:17:56 +00:00
Thomas 3513f13d36 Merge pull request #6996 from overleaf/tm-expired-project-chat
Add endpoints to chat for deleting expired project chat data

GitOrigin-RevId: e4eb7c7a79472bb116b2095a76c870e204590288
2022-03-17 09:03:41 +00:00
Tim Alby 64daf6bd07 asyncify MessageHttpController
GitOrigin-RevId: 678a22807f1cbb51a8c1c9bd11b34e1c045d9361
2022-01-14 09:03:06 +00:00
Tim Alby 9e6467b785 asyncify MessageManager
GitOrigin-RevId: 6b89b70f7c19fc9e71d60b634808030f324f40fe
2022-01-14 09:03:03 +00:00
Tim Alby 1d379aacca asyncify ThreadManager
GitOrigin-RevId: 24fc2d5e04238a7e4e23826a19b69a9fbb2f9637
2022-01-14 09:03:00 +00:00
Tim Alby 33637f1ca1 move module functions to top level
GitOrigin-RevId: 73524dcec49faa05d1fd4dd4ffa6950803175f33
2022-01-14 09:02:57 +00:00
Tim Alby ccb418b0ba decaf cleanup: remove unnecessary callback fallbacks
GitOrigin-RevId: a6b347e121a30221a305116327e42ad070e81977
2022-01-14 09:02:55 +00:00
Tim Alby 010080f4c1 decaf cleanup: remove unnecessary use of Array.from
GitOrigin-RevId: 78c835929c9d7c38e0231f8fbb3e16a35efb7498
2022-01-14 09:02:50 +00:00
Tim Alby e2124154c5 decaf cleanp: consider shorter variations of null checks
GitOrigin-RevId: 393297eb7d674e2c801701db87e5d7eb876186f0
2022-01-14 09:02:47 +00:00
Tim Alby 0bcc342d47 decaf cleanup: remove unnecessary code created because of implicit returns
GitOrigin-RevId: 9717a14d34a662c9740aa50446d0699c6afd3222
2022-01-14 09:02:41 +00:00
Tim Alby 97b266ccac fix eslint violations
GitOrigin-RevId: c2ee81487ab2fd66890ac5fda60f396bb537e0e1
2022-01-14 09:02:39 +00:00
Eric Mc Sween b0bf526f81 Merge pull request #6079 from overleaf/em-upgrade-logger
Upgrade logger and metrics in all services

GitOrigin-RevId: 2baf63eeeab77fb3559cf763ddacfbf4b745cd0b
2021-12-15 09:04:25 +00:00
Jakob Ackermann b82dc6bc67 Merge pull request #5819 from overleaf/jpa-chat-race
[chat] fix race condition of concurrent delete operations

GitOrigin-RevId: 149c5121791af54cd6c27c3458d81641fb522b3d
2021-11-22 09:03:17 +00:00
Jakob Ackermann 18e89dd367 Merge pull request #5367 from overleaf/jpa-node-handle-callback-err
[misc] fix eslint violations for node/handle-callback-err

GitOrigin-RevId: 83a4900e8861010df1917bff49382bd9c93375bd
2021-10-28 08:03:26 +00:00
Jakob Ackermann 4007c0e239 Merge pull request #5161 from overleaf/jpa-drop-errorhandler
[misc] drop errorhandler middleware

GitOrigin-RevId: e95628b6ba5808e4bf4c1df291b6d9eb91d9bc10
2021-09-21 08:03:17 +00:00
Jakob Ackermann 1b7e5e6206 [misc] run format_fix and lint:fix 2021-07-13 12:04:48 +01:00
Jakob Ackermann b1123d3179 [misc] switch from settings-sharelatex to @overleaf/settings 2021-07-12 17:47:21 +01:00
Jakob Ackermann 918cd0bfbe [misc] mongodb: use the new db connector by default
mongojs was enabling it by default as well.
2020-09-10 10:09:30 +01:00
Jakob Ackermann f6083a2d51 [misc] mongodb: refactor the process of setting up the db construct
Co-Authored-By: John Lees-Miller <jdleesmiller@gmail.com>
2020-09-10 10:08:30 +01:00
Jakob Ackermann 0cf5cad3b8 [misc] mongodb: drop the getCollection helper 2020-09-10 10:08:30 +01:00
Jakob Ackermann 4080784310 [misc] simplify mongodb collection access using a shared db construct
Resolve the getCollection Promises once and store the result in a shared
 `db` object which can get imported by all the call-sites.

The http server is starting only after a Promise of `waitForDb()`
 resolves. This covers the app code and the acceptance tests:
REF: 586706a9439c3591fc9613dc877f055096ca073a
REF: d026569d2eb4123e30c771a55a001b42d5ade72f
2020-09-10 10:08:30 +01:00