* move function outside of object
* convert flushProjectToMongoAndDelete function
* convert queueChange function
* install fetch utils, remove private fn from export
* promisify getDocument function
* fix unit tests
* preserve function order
* try parsing error body
* update tests on a new rebased file
* remove fetch-utils from devDependencies
GitOrigin-RevId: cc34d6f690b6b888214b32c2aee0efb6b585e159
* [notifications] Refactor notification handling by using getProject utility function
* [notifications] Add support for reopened comment notifications
* rename to areNotificationsEnabled
* added comment explaining why we are getting users
GitOrigin-RevId: 7263d52e611c66baa39d8737d1d22740e592a3a0
* [web] add BibTeX visual editor module
* Make the visual editor hook open to extension
Instead of looking specifically for the bibtex visual editor, allow any
extension to provide a visual editor.
* Fix stylelint error
---------
Co-authored-by: Eric Mc Sween <5454374+emcsween@users.noreply.github.com>
GitOrigin-RevId: c85c27a2b119c826e3d00cbd475a2a21f1508091
* Add @overleaf/validation-tools in project-history
* use error handler for zod
* Replace joi validations with zod schema
* fix unit tests
* remove Joi validation middleware
* remove optional when there is a default
* fix tests after checking for objectid
* ran build_scripts
* monorepo npm install
GitOrigin-RevId: f8396a3caadd536edf64c6f971c77f4c941f000a
* Record project notification timestamp in Redis on applyUpdate
* Refactor project notification timestamp recording in Redis
* Remove tests which are catching errors that are no longer used
GitOrigin-RevId: faa7a97fa929941cade5d62d2d680c6c3f34cdc8
* Document updater script for notifying web on project updates
* use lua script for deleting keys
* define jobId when adding to queue
* removeOnFail age
* mongo check if collaborator exists
GitOrigin-RevId: f67a79c890a03ccf44fd84243c9a3f380e7afb43
* 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
* [web] if root doc is not found, open last selected file
* call openInitialDoc even without rootdocid
GitOrigin-RevId: fe629482c1827c6205d5cf2de497e593110bd36e
* 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
* Use snapshot timestamp, remove request for paths at version
* Add timestamp to core Snapshot object
* Avoid mutating function argument
* Explain assumption about editable files
* snapshot.toRaw() in getContentAtVersion
* fix project-history acceptance test
* fix history_v1 test
* fix web tests
* Include the snapshot timestamp in stored chunks
---------
Co-authored-by: Eric Mc Sween <5454374+emcsween@users.noreply.github.com>
GitOrigin-RevId: 376a53e1f927cb56544e6782b47d80345655038c
* Add getDocUpdaterCompatibleRanges utility function
* use history snapshot for file/project restore
* move overleaf-editor-core from devDependencies
GitOrigin-RevId: 62481a5304ada9d931e018418be3c0719bccf1f3
* [dsmp] send trackedChangesAdded notification in docModifiedHook
* simplify recipient handling
* simplify check if changes are from a single user
GitOrigin-RevId: dd0b7a0631999ddac0ee1e6705ff4d6d87f3e63a
* [dsmp] Add endpoint to retrieve a single message from chat
* use user:null in case is deleted
GitOrigin-RevId: f42360c2e05cfe93fa11230ac3cc311bdb044c1d
* Open selected file on project restore
* check if restorationState is "restoring" before opening a file
GitOrigin-RevId: c6f4cf69ecbe55b1d1949e4524fe7e39737c5487
* Add getThread in Chat service and use it in AuthorizationMiddleware
* ensure user_id is a string, not ObjectId
* fix tests
GitOrigin-RevId: 42d63366b9b9350d7cdbcbc3b9f4761d9f55b49a
* Show Recurly's line items breakdown in subscription change preview
* fix rounding, filter items that cancel each other out
GitOrigin-RevId: 0f5d71b3917ce8a52ff36608a6ec6280fe7d38ce
* [dsmp] moved redis functions to RedisStreamManager
* use getEventStream generator function
* [dsmp] moved redis functions to RedisStreamManager
* [dsmp] Add acceptChanges notification
* rename to acceptedChanges
* cleanup after rebasing parent branch
GitOrigin-RevId: c7e100f55503e52b146bcc07deb3e483250b66f8
* [dsmp] Add a route for accepting changes
* change the payload to accept both change id and range
* remove project lookup
* Remove try/catch from DsMobileAppManager test
GitOrigin-RevId: afd4f793e9389cad97555cfb6675944e5fcf9b84
* Ensure add comment tooltip doesnt show up without comment permissions
* disable comment option when no permissions in new editor
* add e2e tests
* use server pro for project sharing
* use findByRole for add comment
* remove .only
GitOrigin-RevId: fbef78e0db7678a00d6c602069e16ddeaf23b2f3
* [web] Add script to check and fix duplicate collaborators in projects
* use batchedUpdate
* project-id param and BATCH_RANGE_START,
GitOrigin-RevId: 451549eaff255dfae3e55515786d7a68184d557f
* Preserve resolve state in history when doing a restore
* added comment why is resovled property deleted
GitOrigin-RevId: fb1011cf98a658b302c6eef1da83fb1006bb2052
* AI assist plans section
* fix merge issues, add tests
* translate img alt
* startInterval only if there are images found
* update casing for TeXGPT
* update mobile price font
* small design tweaks
GitOrigin-RevId: 87d993bb5da1929f99ab3b4721316961d78a46f5
* Add permissions checks for AI assist when trying to buy the addon
* more explicit check for DuplicateAddOnError
* remove useCapabilities()
GitOrigin-RevId: 1979e27410981e2ef020cecc731e228483d3315a
* Reinitialise Writefull toolbar after buying AI assist (#25596)
* Reinit Writefull toolbar after buying AI assist
* use refreshSession()
* add a timeout
* add a second refresh
* Increase a timeout for second refresh of writefull session (#25725)
GitOrigin-RevId: 7247ae45ca7de7f1f3778b1b22f49e2ff840a7ef
* Update AI Assist wording on checkout page if not in rollout
* update wording when buyin addon
GitOrigin-RevId: 7133b4fd3efac8e8a7361dcc15d54367f809f16d
* Revert "Increase a timeout for second refresh of writefull session (#25725)"
This reverts commit 0a34bdde656ade863aead22f003253e13af37829.
* Revert "Reinitialise Writefull toolbar after buying AI assist (#25596)"
This reverts commit a2572d62bce0e344d92696e42d137a0b36574b3b.
GitOrigin-RevId: 3d51a4375059ab9f4494a7e18b132cc5db34e4cd
* Update AI Assist wording on checkout page if not in rollout
* update wording when buyin addon
GitOrigin-RevId: 20a90b14e97b1a8837e8be697c1a9666ed15a1c3
* Reinit Writefull toolbar after buying AI assist
* use refreshSession()
* add a timeout
* add a second refresh
GitOrigin-RevId: a2572d62bce0e344d92696e42d137a0b36574b3b
* Add script to update null references in for readOnly_refs and pendingReviewer_refs
* update script to only update readOnly_refs
* clean up
* use projectAuditLogEntries to find relevant projects
* use updateOne
GitOrigin-RevId: bbeaa04b837ebb657c802598f0de72879f641bd0
* Fix AI assist links based on annual/monthly switch
* use translations for annually discount
GitOrigin-RevId: eaf10720eb162c8ecbd891e8f73475db0c02b9f9