* Add some JSDoc types to `@overleaf/logger`
* Update `logger.error` calls
* Fixup `logger.err` JSDoc
* Update `logger.err` calls
* Fix `args` type
* Remove "Error message" description
* Replace `arguments` by actual arguments of the method
* Fix: "ESLint: Unnecessary '.apply()'.(no-useless-call)"
* Add JSDoc params to `debug` `info` `warn`
* Remove extra `args` param in JSDoc so developers aren't invited to use it
Not sure if this is the best thing to do because it creates a warning in the IDE: "Parameter args is not described in JSDoc"
* Add comment about serialization of `err` `req` `res`
* Allow strings as first param in `debug` `info` `warn`
* Fix syntax for optional parameters in JSDoc
* Add 2 signatures, to avoid "string, string" params
* Fix `@signature` names copy-pastes
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
* Revert the double `@param attributes`. It doesn't work
---------
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: 086dee8bbf30d577c5e1f844a9df5e518c46aca7
* Add helpers for checking and removing user readwrite token membership
* Add sharing-updates page and handlers
* Redirect read write token members to sharing-updates on project load
GitOrigin-RevId: d552a2cd74a9843c6103923b03f137131a48877a
* Don't send status 200 in the beginning: we may throw later
This was causing `Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client`
https://cloudlogging.app.goo.gl/Bchegw2iCYLxhPNk8
* Continue when failing to send one email, but log the error
* Revert "Don't send status 200...", log error instead
This reverts commit 3e13559704f822e330a18a68567f46491649f222.
* Fix `logger.error` params
* Fixup: good syntax for `logger.error`
* Remove useless `OError` import
* Update services/web/modules/metrics/app/src/MetricsEmailController.js
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
* Update services/web/modules/metrics/app/src/MetricsEmailController.js
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
* Update services/web/modules/metrics/app/src/MetricsEmailController.js
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
* Update services/web/scripts/recurly/collect_paypal_past_due_invoice.js
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
---------
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: c68bc677326729fc6c39b7c2f027e35ebb776bd2
* Only show the AI error assistant to users with write permission on the project
* Fix line number in searchDocLines
* Abort the request after 60 seconds
* Move comment
* Jump to file + line when suggestion line number is clicked
* Set tool_choice: 'required'
* Fix handling of suggestLineChange
* Tidy up getDocLines
* Avoid showing Suggest Fix button in gutter marker for typesetting warnings
* Log request errors
* Fix prefixed function name
* Update tool description
* Tweak the prompt in an attempt to improve the line number
* Reject if the total message content is too large
* Change the structure of the suggested change
* Reduce line highlight
* Fix change highlighting on deletion
GitOrigin-RevId: afde096e547050b8518195ef51b68983bc3b0be3
* Add a tsconfig.json to the eslint-plugin folder so it can be linted too
* Create eslint rule `prefer-kebab-url`
* Add prefer-kebab-url to service/web
* Ignore lowercased strings
Prevents from trying to change `v0` to `v-0`
* Ignore parts between brackets or parenthesis
* Record in URL paths by case
lower: 241
kebab: 60
snake: 43
camel: 22
other: 5
* Revert "Record in URL paths by case"
This reverts commit 262f483aafb0daa1a01e9025488cdc33f31ef67c.
* Showcase how the autofix would change the code
* Revert "Showcase how the autofix would change the code"
This reverts commit f045292bf01623de2df5b89fc0d68737a39913dc.
* Add ignored words so we don't have to update old code
* Change the rule so it suggests instead of fixing
This prevents eslint autofix from creating bugs
* Move list of ignored words to its own file
Per https://github.com/overleaf/internal/pull/18913#discussion_r1644204034
* Add comment explaining the ignore list
GitOrigin-RevId: d13918b0bcba9d77120f1b61b354a79dc8fb4b4e
* Move unawaited promises out of `p-props`: `User.updateOne`
* Move unawaited promises out of `p-props`: `sessionMaintenance`
* Move unawaited promises out of `p-props`: `reactivateProjectIfRequired`
* Move unawaited promises out of `p-props`: `markAsOpened`
* Move unawaited promises out of `p-props`: `flushProjectToTpdsIfNeeded`
This was actually awaited, but is it necessary?
* Use `getUserValues`: `user`
* Use `getUserValues`: `learnedWords`
* Use `getUserValues`: `projectTags`
* Use `getUserValues`: `userHasInstitutionLicence`
* Use `getUserValues`: `subscription`
* Use `getUserValues`: `isTokenMember`
* Use `getUserValues`: `isInvitedMember`
* Update `splitTestAssignments` syntax
* Remove `mapValues` in `pProps`
* Await unused promises again: `flushProjectToTpdsIfNeeded` and `reactivateProjectIfRequired`
* Remove error page file committed by mistake 🤦
GitOrigin-RevId: 6529445c364a6af660bc8ab6dfc836a4ddf7a040