Commit Graph
100 Commits
Author SHA1 Message Date
Domagoj Kriskovic b10854f3e3 Use "tanstack/react-table" for visual bibtex editor
GitOrigin-RevId: 85c7ae2433de04a4d64d9d59af062646add3b473
2026-02-04 09:06:49 +00:00
Domagoj Kriskovic a991852c61 add max number of duplicate citation keys
GitOrigin-RevId: dd71cf7e5455d8cfdc60bab477c6b8c7f1af249a
2026-02-03 09:06:17 +00:00
Domagoj Kriskovic 9de3ac303d [web] add duplicate citation key detection and warning message in BibTex editor
GitOrigin-RevId: c126f05e0b9a0f7e37b5ff9e06833ba52fb9c34c
2026-02-03 09:06:12 +00:00
Domagoj Kriskovic 9028ec7b29 Use labs experiments for visual bibtex editor
GitOrigin-RevId: e616d42af0d54f9acdf40b24fbfcbed06f349266
2026-02-03 09:06:06 +00:00
Domagoj Kriskovic 9bd7171413 [project-history] update getProjectBlobSchema to accept numeric history_id
GitOrigin-RevId: b38d8c9e279e227975a12662d3f0c9e0d21cc1bd
2026-02-02 09:05:33 +00:00
Domagoj Kriskovic 4d6c1138c7 rename validateReq to parseReq
GitOrigin-RevId: 26d1a3adf0793a4f80a919707850477db5374b8d
2026-02-02 09:05:24 +00:00
Domagoj Kriskovic 859c21b4dd [project-history] update schemas to accept numeric project IDs
GitOrigin-RevId: 4dac763223f42eb772c30f34e0da0d22464055dd
2026-02-02 09:05:20 +00:00
Domagoj Kriskovic da9da896c2 Revert "Revert "[project-history] migrate from joi to zod (#30187)" (#30681)"
This reverts commit 8d66aa15a29216736755c3f86954a4d40aa20a6c.

GitOrigin-RevId: 9d56dafff3da5202204ead896bed30182cc2aceb
2026-02-02 09:05:15 +00:00
Domagoj Kriskovic a108552df6 [web] add schema validation for downloadZipOfVersion endpoint
GitOrigin-RevId: ec69b9aa09cf52b544283be6acf29f706807a4b4
2026-02-02 09:04:50 +00:00
Domagoj Kriskovic 3603bc5e25 [real-time] handle getDocument result in case of an error
GitOrigin-RevId: 592be03d7b93a3d1f86015e58d2de5d2f12d89f6
2026-01-28 09:08:09 +00:00
Domagoj Kriskovic 41b8ccc69f [real-time] Promisify DocumentUpdaterManager (#30322)
* 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
2026-01-28 09:06:48 +00:00
Domagoj Kriskovic 6b575c9235 [web] remove scriptRunner from a cron job script (#30871)
* [web] remove scriptRunner from a cron job script

* disable eslint check

* fix logger params, add error description

GitOrigin-RevId: 60cfc32fc62d08283222bf7cdbe846b6c1d4796f
2026-01-22 09:06:13 +00:00
Domagoj Kriskovic 93eacab171 Add reference functionality for visual bibtex editor (#30846)
* Add reference functionality for visual bibtex editor

* Implement edit reference functionality in the BibTeX visual editor

* fix lint, sort locals

GitOrigin-RevId: 246009425d6f27a9d12fa21eaf6463df1fc95d1e
2026-01-22 09:06:09 +00:00
Domagoj Kriskovic e5a82e47ce [notifications] Add support for reopened comment notifications (#30679)
* [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
2026-01-19 09:06:25 +00:00
Domagoj Kriskovic b39c7d8fe8 Add comment resolved hook for email notifications
GitOrigin-RevId: 426162e4ca03dbb8459c990ae56ff8d12ba2d8b4
2026-01-19 09:06:16 +00:00
Domagoj Kriskovic 6c76d1cd4c Check preferences for track changes before sending email
GitOrigin-RevId: 99206cf438b18d90bca2db9d6db2a6676008a72d
2026-01-15 09:05:17 +00:00
Domagoj KriskovicandEric Mc Sween 4e2ea44b61 [web] add BibTeX visual editor module (#30726)
* [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
2026-01-15 09:05:13 +00:00
Domagoj Kriskovic da7569e892 Revert "[project-history] migrate from joi to zod (#30187)" (#30681)
This reverts commit f8396a3caadd536edf64c6f971c77f4c941f000a.

GitOrigin-RevId: 8d66aa15a29216736755c3f86954a4d40aa20a6c
2026-01-13 09:07:22 +00:00
Domagoj Kriskovic 6d3dd3601a [project-history] migrate from joi to zod (#30187)
* 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
2026-01-13 09:07:00 +00:00
Domagoj Kriskovic 0a84cefc96 Revert "Record project notification timestamp in Redis on applyUpdate (#29509)"
This reverts commit faa7a97fa929941cade5d62d2d680c6c3f34cdc8.

GitOrigin-RevId: 31c88ee836fb5e1ab3950da590c28e24b1397edb
2026-01-12 09:06:50 +00:00
Domagoj Kriskovic c461d4d8c3 Rename doc updater script to use .mts extension
GitOrigin-RevId: 43d84434ee91aa579cb049081a31cb3769844320
2026-01-12 09:06:12 +00:00
Domagoj Kriskovic 8bca2545ee Record project notification timestamp in Redis on applyUpdate (#29509)
* 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
2026-01-12 09:06:07 +00:00
Domagoj Kriskovic 6de0273d45 Process notifications by grouping them per project with caching (#30439)
* Add caching for project updates and file diffs in notifications processing

* Simplify filterNotificationsByPreferences function

* NotificationsEmailBuilder class

* fix cachedRecipient issue

* change processing to group per project

* remove updates cache

* clear cache after processing a project

* refactor: update sendNotificationsForProject to accept project as parameter

* fix unit tests

* apply review suggestions

* feat: add migration script for updating emailNotifications indexes

* refactor: update sendNotificationsForProject to accept projectId

* refactor: simplify fileTreeDiff result assigning

* fix tests

GitOrigin-RevId: bfed061864ba7314f85cf97b7adaeef62c8c5f00
2026-01-09 09:05:42 +00:00
Domagoj Kriskovic c30b348668 For editing/deleting chat messages ensure user is a message author
GitOrigin-RevId: d7d4f1bb9f004d8fed8644f0aabe621ed863437b
2025-12-18 09:05:22 +00:00
Domagoj Kriskovic 7b00e5d9f5 Add routes to save/get project notification preferences (#30114)
* Add routes to save/get project notification preferences

* update route url

* improve zod schema

* remove unused json response

* update schema and fix tests

* add jsdoc types to pass type-check

* remove using zod strict()

GitOrigin-RevId: f3ab5c88b58bd5af71e0504d0efbe03bdf9b243c
2025-12-16 09:07:07 +00:00
Domagoj Kriskovic 3f6e96f58e Add email notifications settings for redesigned editor
GitOrigin-RevId: d31f13bbc668d790564618e6b4a8a83fdf2d8780
2025-12-05 09:05:26 +00:00
Domagoj Kriskovic 580fc2bad6 [notifications] include tracked changes in email notifications
GitOrigin-RevId: 01011739ef183e0fca606a5d9cbf6c23eaa14644
2025-12-03 09:06:33 +00:00
Domagoj Kriskovic 3832c46f1c Skip projects that are already in new track_changes format
GitOrigin-RevId: 3162d15852664707e2072b5c7af6d3849f1d0677
2025-12-03 09:06:20 +00:00
Domagoj Kriskovic 6e2f999a11 Fix import from CollaboratorsHandler.js to CollaboratorsHandler.mjs (#29863)
GitOrigin-RevId: 35f7fd558a127c094b65104e0775c67dca4f96f6
2025-11-25 09:05:18 +00:00
Domagoj Kriskovic c84cfc815a Document updater script for notifying web on project updates (#29490)
* 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
2025-11-11 09:06:04 +00:00
Domagoj Kriskovic 23fc714d93 Replace dependency on "mmmagic" (#29272)
* Replace dependency on "mmmagic"

* Refactor file type checks in OpenInOverleafHelper

GitOrigin-RevId: fc5876b75955cb4981f084df777caa294907c8f9
2025-11-04 09:05:00 +00:00
Domagoj Kriskovic 48a3d6a10a Function for processing notification queue (#29072)
* Function for processing notification queue

* update collection name

GitOrigin-RevId: 5de5d1d056acee4257fcdc930ad995345f5e0367
2025-10-20 08:05:25 +00:00
Domagoj Kriskovic 71457d74cb 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 387ef81a31 Add migration script for creating emailNotifications collection (#28972)
GitOrigin-RevId: 73845e7e7dfe61f0a7ca19f4f8be94e6b41594c5
2025-10-20 08:05:15 +00:00
Domagoj Kriskovic 267fc5393a Promisify ProjectHistoryClient, ProjectHistoryApp, SyncTests and SendingUpdatesTests (#28890)
GitOrigin-RevId: 7bf26c6ed1a172c6506449a821d4e43f424a72bd
2025-10-08 08:06:00 +00:00
Domagoj Kriskovic bc6ae7816c [web] When main document is not set open last selected file (#28737)
* [web] if root doc is not found, open last selected file

* call openInitialDoc even without rootdocid

GitOrigin-RevId: fe629482c1827c6205d5cf2de497e593110bd36e
2025-10-07 08:05:47 +00:00
Domagoj Kriskovic 6d84dfddcc Skip checking status code for fetchJson
GitOrigin-RevId: 1470fdd5aabde3448c5ac5ed8e9203fc509b13e8
2025-10-07 08:05:43 +00:00
Domagoj Kriskovic 62ec3f9644 Promisify ReadingASnapshotTests
GitOrigin-RevId: 281b3a84466175a38b5ebbf9282b4c996e04d221
2025-10-07 08:05:39 +00:00
Domagoj Kriskovic aed47ef01b Promisify LatestSnapshotTests
GitOrigin-RevId: 40b0811e25ac9ee75c295c89cec7ad07570007c4
2025-10-07 08:05:34 +00:00
Domagoj Kriskovic 64d1f160a1 promisify LabelsTests and SummarisedUpdatesTests
GitOrigin-RevId: 32552c8c63ebbd8e73e8c179fcce67b3b955251d
2025-10-07 08:05:30 +00:00
Domagoj Kriskovic 9150fc332c Promisify SummarisedUpdatesTests
GitOrigin-RevId: 65782b0cf6e552425d6fad716f74f8f3f22cf7e9
2025-10-07 08:05:26 +00:00
Domagoj Kriskovic c1bfd2192d promisify GetChangesInChunkSince
GitOrigin-RevId: 82af36d7cb0301e3bf9527b219c67ceb6fc9b34f
2025-10-07 08:05:21 +00:00
Domagoj Kriskovic 54190e1040 promisidy FlushManagerTests
GitOrigin-RevId: fa26499be5e40d6741ea1d012188a0a70f519b51
2025-10-07 08:05:17 +00:00
Domagoj Kriskovic 1c2aa6251e promisify FileTreeDiffTests
GitOrigin-RevId: f7c9c119f28bdbf98c526d767ee06286c33ecfa2
2025-10-07 08:05:12 +00:00
Domagoj Kriskovic 632a563ed2 convert some helper functions in ProjectHistoryClient
GitOrigin-RevId: a73207c4dfbf13cd96456e024adfa6a046002e00
2025-10-03 08:06:31 +00:00
Domagoj Kriskovic 5944d20340 promisify DiscardingUpdatesTests
GitOrigin-RevId: ea64c162bc05d7f30cf95cc397991d7f448c26e2
2025-10-03 08:06:26 +00:00
Domagoj Kriskovic 5e03da3b58 promisify DiffTests
GitOrigin-RevId: 688f0f5f52917483912ee69779381d1ea2469ad8
2025-10-03 08:06:21 +00:00
Domagoj Kriskovic c1645ebe2c promisify RetryTests
GitOrigin-RevId: 8e748a63bd523087d023be5573e8e23ef3bda3f2
2025-10-03 08:06:16 +00:00
Domagoj Kriskovic 3840eaa0d8 promisify DeleteProjectTests
GitOrigin-RevId: a86e6962253bbf4adf5fc9748e7accb9084b31f9
2025-10-03 08:06:11 +00:00
Domagoj Kriskovic a9d805ef9b delete unused helper
GitOrigin-RevId: ff7d96159e8c71b2a5ebed4041ee44f5cf45ceb1
2025-10-03 08:06:06 +00:00
Domagoj Kriskovic 854536fcc9 use async/await HealthCheckTests, promisify helpers
GitOrigin-RevId: 1016296695eb1c09d74d6f50c765438b83df1024
2025-10-03 08:06:01 +00:00
c22e44438e 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 e9b1c63ed7 Revert "File restore optimization - using snapshot timestamp and file paths (#28546)"
This reverts commit 376a53e1f927cb56544e6782b47d80345655038c.

GitOrigin-RevId: 8e4ab1d4042fec8df1b62ab1c5418d873dc6f5eb
2025-09-24 08:06:06 +00:00
Domagoj KriskovicandEric Mc Sween 005eba7502 File restore optimization - using snapshot timestamp and file paths (#28546)
* 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
2025-09-24 08:06:02 +00:00
Domagoj Kriskovic 484a01a173 Use history snapshot when doing file/project restore (#28502)
* Add getDocUpdaterCompatibleRanges utility function

* use history snapshot for file/project restore

* move overleaf-editor-core from devDependencies

GitOrigin-RevId: 62481a5304ada9d931e018418be3c0719bccf1f3
2025-09-19 08:07:58 +00:00
Domagoj Kriskovic 34ea7058a1 [dsmp] filter notifying authors on their actions (#28429)
GitOrigin-RevId: c1186c84d9b1e885081ba2ea30cbdb6277192bc0
2025-09-19 08:07:31 +00:00
Domagoj Kriskovic 1915507269 [dsmp] send trackedChangesAdded notification in docModifiedHook (#28454)
* [dsmp] send trackedChangesAdded notification in docModifiedHook

* simplify recipient handling

* simplify check if changes are from a single user

GitOrigin-RevId: dd0b7a0631999ddac0ee1e6705ff4d6d87f3e63a
2025-09-19 08:07:12 +00:00
Domagoj Kriskovic ff0e725935 [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 f6820ed794 [dsmp] replace stubs with MockDocStoreApi and MockDocUpdaterApi (#28122)
* [dsmp] replace stubs with MockDocStoreApi and MockDocUpdaterApi

* fix reject changes test

GitOrigin-RevId: 692195545b16e9674327f7a9828b53f5271b6f20
2025-09-03 08:05:36 +00:00
Domagoj Kriskovic c984134142 Open selected file on project restore (#28145)
* Open selected file on project restore

* check if restorationState is "restoring" before opening a file

GitOrigin-RevId: c6f4cf69ecbe55b1d1949e4524fe7e39737c5487
2025-09-03 08:05:30 +00:00
Domagoj Kriskovic e915003a61 Handle undefined rootDoc when restoring a file (#28118)
GitOrigin-RevId: f3aa32d2443f3fffbda8a10cc35d5dec3db71143
2025-08-27 08:05:43 +00:00
Domagoj Kriskovic 979059f74a [dsmp] Add resolve and reopen comment endpoints (#28093)
* [dsmp] Add resolve and reopen comment endpoints

* remove try/catch

GitOrigin-RevId: b2982de064e81a8fd7c19edbe114ae397e5f51d5
2025-08-27 08:05:35 +00:00
Domagoj Kriskovic cffad44264 Add support for handling deleted root document in RestoreManager (#28008)
* Skip opening root document if delete originated from a file-restore

* handle project-restore origin

* Refactor isFileRestore logic

* Add support for handling deleted root document in RestoreManager

GitOrigin-RevId: 837144aa6e269cbffebf82624f58e8219fe654c4
2025-08-27 08:05:30 +00:00
Domagoj Kriskovic dff92f1e6b Skip opening root document if delete originated from a file-restore (#27992)
* Skip opening root document if delete originated from a file-restore

* handle project-restore origin

* Refactor isFileRestore logic

GitOrigin-RevId: f2a34189140deb4e614d93e8d197b8a6a90c8f65
2025-08-27 08:05:25 +00:00
Domagoj Kriskovic 8c3fe3bd31 [web] change the order when creating a memebers list in permissions checks (#28063)
GitOrigin-RevId: 73fd9218841d189dc95edec86f09d451005e6189
2025-08-26 08:05:13 +00:00
Domagoj Kriskovic f65f567380 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
Domagoj Kriskovic eac4a5cb13 Show Recurly's line items breakdown in subscription change preview (#27809)
* Show Recurly's line items breakdown in subscription change preview

* fix rounding, filter items that cancel each other out

GitOrigin-RevId: 0f5d71b3917ce8a52ff36608a6ec6280fe7d38ce
2025-08-19 08:05:02 +00:00
Domagoj Kriskovic 704e577c23 Add endpoint to retrieve document with history ranges and use it in dsmp API (#27564)
GitOrigin-RevId: 3d2ac33cdc903a07b8ec67f7fb6f723ae9c81a26
2025-08-15 08:05:17 +00:00
Domagoj Kriskovic bd8493dba6 [dsmp] Add acceptChanges notification (#27555)
* [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
2025-08-11 08:05:37 +00:00
Domagoj Kriskovic 49bcfdd575 [ds-mobile-app] Implement reject changes in document updater (#27483)
* [ds-mobile-app] Implement reject changes in document updater

* Return rejected change ids

GitOrigin-RevId: 7915170af9164852ce39d783776106e722aaa925
2025-08-11 08:05:29 +00:00
Domagoj Kriskovic 874a6a612b [dsmp] Add RedisStreamManager and connect to dsmp redis instance (#27262)
* [dsmp] moved redis functions to RedisStreamManager

* update env variables

* use getEventStream generator function

* improve error handling

GitOrigin-RevId: 0e4858bb9a49693664cc472179e838a4d81041a8
2025-08-11 08:05:24 +00:00
Domagoj Kriskovic c41a451f98 [dsmp] Add a route for accepting changes (#27398)
* [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
2025-07-29 08:05:42 +00:00
Domagoj Kriskovic 9228f2248b Ensure add comment tooltip doesnt show up without comment permissions (#27273)
* 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
2025-07-29 08:05:37 +00:00
Domagoj Kriskovic d5b5710d01 Add docModified hook in ds-mobile-app module (#27196)
* Add docModified hook in ds-mobile-app module

* use Object.entries when iterating over promises

* avoid project lookup

* update tests

GitOrigin-RevId: 88676746f56558a97ce31010b57f5eeb254fefef
2025-07-22 08:05:56 +00:00
Domagoj Kriskovic 868d562d96 Support password-fallbackPassword array in requireBasicAuth (#27237)
GitOrigin-RevId: 33b15a05996bfa0190041f347772867a9667e2ca
2025-07-22 08:05:51 +00:00
Domagoj Kriskovic 11cb140fe3 Move AI related functions from PaymentProviderEntities to AiHelper (#26956)
* Move AI related functions from PaymentProviderEntities to AiHelper

* added @ts-check

GitOrigin-RevId: 8c8eec334b40a7f8f8533f6d5194f428112f68f9
2025-07-10 08:07:51 +00:00
Domagoj Kriskovic b2fb70c2b6 Add support for --any-comments to check_docs script (#26903)
GitOrigin-RevId: 283e761a3f305286584164b12e9736deba0064d9
2025-07-08 08:08:04 +00:00
Domagoj Kriskovic d57d0ca738 Unselect files before deleting (#26810)
GitOrigin-RevId: 6bf22bc4983c96b7e2b45067aa0970c7fea293e2
2025-07-08 08:05:42 +00:00
Domagoj Kriskovic c538091fa8 Add script to check and fix duplicate collaborators in projects (#26572)
* [web] Add script to check and fix duplicate collaborators in projects

* use batchedUpdate

* project-id param and BATCH_RANGE_START,

GitOrigin-RevId: 451549eaff255dfae3e55515786d7a68184d557f
2025-07-03 08:05:17 +00:00
Domagoj Kriskovic 04e026904f Hide reviewer options for community edition (#25944)
GitOrigin-RevId: 7eba3d193e3a0ab37006cb42dd945ba40703136f
2025-06-27 08:56:35 +00:00
Domagoj Kriskovic 3b65a674d0 Allow switching reviewing mode for anonymous editors (#26426)
* Revert "Remove reference to track changes ofForGuests"

This reverts commit 675f3864e4bf0a07d24848223814768ab50bfd9b.

* handle track changes for guests

* only send on_for_guests

* update test

GitOrigin-RevId: 15308f0904b26d2ea6a2e57b3852cd2a9b3c886d
2025-06-26 08:05:43 +00:00
Domagoj Kriskovic 48379a9d86 Refactor AI assist notification logic in project list page (#26613)
GitOrigin-RevId: 849ab62b814f321452e5d6e53d968943cec60417
2025-06-25 08:06:00 +00:00
Domagoj Kriskovic fda96b2fdf Add promo notifications for AI assist (#26514)
* Add promo notifications for AI assist

* format pug

GitOrigin-RevId: 8895145e1e5dcd8e28f29bf2601a4bd21456a407
2025-06-25 08:05:37 +00:00
Domagoj Kriskovic 3a1ef872cd Check for existing reviewers when adding user to a project (#26463)
GitOrigin-RevId: 935335345461133fb8b08fa95f960f801b8775a7
2025-06-19 08:05:27 +00:00
Domagoj Kriskovic b0c5d6fc5a Update font size and spacing in AI assist part of plans page (#26437)
GitOrigin-RevId: 2b0e3b68f73e72ef1024db9c1088d20b973f6245
2025-06-16 08:06:18 +00:00
Domagoj Kriskovic fd1926a1c8 Preserve resolve state in history on file restore (#26302)
* Preserve resolve state in history when doing a restore

* added comment why is resovled property deleted

GitOrigin-RevId: fb1011cf98a658b302c6eef1da83fb1006bb2052
2025-06-13 08:07:26 +00:00
Domagoj Kriskovic fc050983c9 AI assist section for plans page (#26187)
* 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
2025-06-13 08:07:02 +00:00
Domagoj Kriskovic 92626393ec Check if AI assist standalone plan is used in shouldPlanChangeAtTermEnd (#26272)
GitOrigin-RevId: d6737ea28071d565109dba695876b6fbf3f5daa2
2025-06-13 08:06:57 +00:00
Domagoj Kriskovic ce00213c4a Add permissions checks for AI assist addon purchase (#26355)
* Add permissions checks for AI assist when trying to buy the addon

* more explicit check for DuplicateAddOnError

* remove useCapabilities()

GitOrigin-RevId: 1979e27410981e2ef020cecc731e228483d3315a
2025-06-13 08:06:52 +00:00
Domagoj Kriskovic 62714d995d Revert "Reinitialise Writefull toolbar after buying AI assist (#25741)" (#26144)
This reverts commit 7247ae45ca7de7f1f3778b1b22f49e2ff840a7ef.

GitOrigin-RevId: c6dc1a073ce3d0f9703e426df1c12fa1c7ffac5c
2025-06-05 08:05:28 +00:00
Domagoj Kriskovic 93a1996491 Show add-on list for non-personal subscription (#25901)
GitOrigin-RevId: ba23158f51a7183fabc61c16b19809f58cf15323
2025-05-28 08:05:34 +00:00
Domagoj Kriskovic 9b27ed4798 Reinitialise Writefull toolbar after buying AI assist (#25741)
* 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
2025-05-22 08:07:16 +00:00
Domagoj Kriskovic b8e391c005 Handle undefined user features in UserFeaturesProvider
GitOrigin-RevId: 70841809f691e9f20591bdf1ea05c510a44892af
2025-05-22 08:07:11 +00:00
Domagoj Kriskovic ab37e18bc3 Update AI Assist wording on checkout page if not in rollout (#25689) (#25733)
* Update AI Assist wording on checkout page if not in rollout

* update wording when buyin addon

GitOrigin-RevId: 7133b4fd3efac8e8a7361dcc15d54367f809f16d
2025-05-20 08:05:36 +00:00
Domagoj Kriskovic b375b13950 Revert "Reinitialise Writefull toolbar after buying AI assist" (#25731)
* 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
2025-05-19 12:27:00 +00:00
Domagoj Kriskovic 996c407393 Revert "Update AI Assist wording on checkout page if not in rollout (#25689)" (#25726)
This reverts commit 20a90b14e97b1a8837e8be697c1a9666ed15a1c3.

GitOrigin-RevId: 26d4ad8f1b3a7dbe884dfbe4f4be5ee632abed1e
2025-05-19 12:26:35 +00:00
Domagoj Kriskovic d7ef7f0399 Update AI Assist wording on checkout page if not in rollout (#25689)
* Update AI Assist wording on checkout page if not in rollout

* update wording when buyin addon

GitOrigin-RevId: 20a90b14e97b1a8837e8be697c1a9666ed15a1c3
2025-05-19 12:26:26 +00:00
Domagoj Kriskovic 50a5c7984d Reinitialise Writefull toolbar after buying AI assist (#25596)
* Reinit Writefull toolbar after buying AI assist

* use refreshSession()

* add a timeout

* add a second refresh

GitOrigin-RevId: a2572d62bce0e344d92696e42d137a0b36574b3b
2025-05-19 12:26:21 +00:00
Domagoj Kriskovic b99a81cb25 Fix monthly price if billed annually for AI Assist (#25297)
* Fix monthly price if billed annually for AI Assist

* update script

* show annual price

* fix formatting

GitOrigin-RevId: e50493fa2176e6c8acb476a01a393eb940a3f1a2
2025-05-13 08:06:39 +00:00
Domagoj Kriskovic c1f3758aa2 Add script to update null references in for readOnly_refs and pendingReviewer_refs (#25417)
* 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
2025-05-13 08:06:23 +00:00