Commit Graph

43 Commits

Author SHA1 Message Date
Domagoj Kriskovic
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
Mathias Jakobsen
442c1952ab [web] Avoid double indexing of client side referencing (#28235)
* [web] Move chat client id to shared module

* [web] Avoid double indexing of client references

GitOrigin-RevId: 993930e66fdc9952649e3e8d345c70dd37516121
2025-09-08 08:05:14 +00:00
Rebeka Dekany
74533fc401 Replace placeholders with labels (#26811)
* Replace placeholders for labels

* Remove redundant aria-label and update labels with `.visually-hidden`

* Change "Invite more members" to a label

* Fix helper text for group members and fix responsiveness

* Change error message to an error notification

* Use label and helper text instead of a placeholder

* Remove redundant label and use the placeholder text instead for the admin user searchbar

* Extract translations

GitOrigin-RevId: a504fda9779da82920b57c7b8aad38a8b027d09a
2025-08-26 08:05:02 +00:00
Mathias Jakobsen
05bf74cf94 Merge pull request #27790 from overleaf/mj-chat-typescript
[web] Convert remaining chat frontend and tests to typescript

GitOrigin-RevId: 6b2b485433e0a4530f00496e7ecdd49d9eb450af
2025-08-14 08:05:23 +00:00
Miguel Serrano
04fa5366ce Merge pull request #26070 from overleaf/msm-disable-dropbox
[web] Disable Dropbox Capability

GitOrigin-RevId: 5f91d2918bf3b88e52f4d27c828a4715f9b88629
2025-06-20 08:05:20 +00:00
Antoine Clausse
3ba002460e [web] Remove instances of $scope and _ide (#26297)
* Remove `$scope` from `getMockIde`

* Replace `...getMockIde()` by `_id: projectId`

* Simplify stories decorator scope.tsx: less reliance on `window`

* Update helper editor-providers.jsx: pass data instead directly instead of using `window`

* Remove `cleanUpContext`

* Remove unused prop `clsiServerId`

* Update types to reflect unused properties

* Remove comment

* Add `ol-chatEnabled` in Storybook

* Revert moving `getMeta` outside of the component

This causes issues in Storybook

GitOrigin-RevId: dc2558ce814c2d738fb39450c57c104f4419efb8
2025-06-18 08:06:42 +00:00
Tim Down
7abafb01ea Merge pull request #23940 from overleaf/td-react-18
Upgrade to React 18

GitOrigin-RevId: 9b81936e6eea2bccd97fe5c2c5841f0b946371b8
2025-05-02 08:05:29 +00:00
Antoine Clausse
b901bb6c75 [web] Update fetch-mock to version 12 (#24837)
* Update fetch-mock to version 12

* Replace `fetchMock.done` by `fetchMock.callHistory.done`

* Replace `…Mock.called` by `…Mock.callHistory.called`

* Replace `fetchMock.reset` by `fetchMock.hardReset`

* Replace `fetchMock.restore` by `fetchMock.hardReset`

* Replace `fetchMock.resetHistory` by `fetchMock.clearHistory`

* Replace `fetchMock.calls` by `fetchMock.callHistory.calls`

* Replace `fetchMock.flush` by `fetchMock.callHistory.flush`

* Update tests for fetch-mock version 12

See https://www.wheresrhys.co.uk/fetch-mock/docs/Usage/upgrade-guide

* Update stories for fetch-mock version 12

* Remove `overwriteRoutes` option

* Add `fetchMock.spyGlobal()` to storybook

* Remove deprecated `sendAsJson` param

* Replace `fetchMock.hardReset()` by `fetchMock.removeRoutes().clearHistory()`

* Fixup fetch-mock in storybook:

Call `mockGlobal` inside the hook, call `removeRoutes` and `unmockGlobal` on cleanup

Behaviour can be tested by navigating between

https://storybook.dev-overleaf.com/main/?path=/story/editor-ai-error-assistant-compile-log-entries--first-log-entry
https://storybook.dev-overleaf.com/main/?path=/story/editor-ai-error-assistant-compile-log-entries--rate-limited

https://storybook.dev-overleaf.com/main/?path=/story/project-list-notifications--project-invite
https://storybook.dev-overleaf.com/main/?path=/story/project-list-notifications--project-invite-network-error

And clicking the buttons

GitOrigin-RevId: 35611b4430259e4c21c3d819ad18b2e6dab66242
2025-04-17 08:06:24 +00:00
Jakob Ackermann
39110d9da9 [clsi-cache] check compiler settings before using compile from cache (#24845)
* [web] provide an actual rootFolder from EditorProviders in tests

- Fixup SocketIOMock and ShareJS mocks to provide the complete interface
- Extend SocketIOMock interface to count event listeners
- Fixup test that did not expect to find a working rootDoc

* [web] expose imageName from ProjectContext

* [clsi-cache] check compiler settings before using compile from cache

* [web] avoid fetching initial compile from clsi-cache in PDF detach tab

GitOrigin-RevId: e3c754a7ceca55f03a317e1bc8ae45ed12cc2f02
2025-04-16 08:05:35 +00:00
Alf Eaton
71ab3a41ed Remove ColorManager (#22974)
GitOrigin-RevId: 32cb6fd599345eaf8e474553da5c6d3080575ee8
2025-01-29 09:04:48 +00:00
Brian Gough
4a32f49b3d add an option to remove chat from server pro (#20445)
* add option to remove chat from backend

* make chat default to enabled

* Check chat is enabled in chat context

---------

Co-authored-by: mserranom <mserranom@gmail.com>
GitOrigin-RevId: 7dda09df4bb74007eb4b1272d4918155b5cddaf6
2024-10-14 11:07:02 +00:00
Jakob Ackermann
aa480a2663 Merge pull request #18898 from overleaf/jpa-no-window
[web] migrate from window attributes to getMeta

GitOrigin-RevId: 3dcf1ab6b01155e5e4abeb3e78d0fa9053e055bc
2024-06-19 08:04:21 +00:00
Alf Eaton
c24ace801b Remove Angular (#17534)
GitOrigin-RevId: 7a0d45e17d9905fa75569e2d19ca59caa4a41565
2024-06-06 08:04:09 +00:00
Jakob Ackermann
9c5eb9630b Merge pull request #18222 from overleaf/jpa-socket-io-mock
[web] replace socket.io-mock with simple EventEmitter based interface

GitOrigin-RevId: 012e4263367a83e16efea3947f310a2de9a65279
2024-05-09 08:05:14 +00:00
Tim Down
bbb5804c39 Merge pull request #16815 from overleaf/td-uuid-frontend-upgrade
Upgrade uuid in web front end

GitOrigin-RevId: 1928848fdf879c270effca12cd390a223007ea79
2024-02-13 09:03:45 +00:00
Jakob Ackermann
9daa8f5d98 Merge pull request #15040 from overleaf/jpa-js-to-jsx
[web] rename all the JSX files to .jsx/.tsx

GitOrigin-RevId: 82056ae47e017523722cf258dcc83c8a925a28f7
2023-09-29 08:04:29 +00:00
Jakob Ackermann
3383ec7908 Merge pull request #14966 from overleaf/jpa-avoid-fake-clock
[web] avoid faking the clock in frontend tests

GitOrigin-RevId: 6fd5af54f1cbfa22901d24d47070fea097183394
2023-09-27 08:03:42 +00:00
Jakob Ackermann
6d31ff6400 Merge pull request #14967 from overleaf/jpa-fetch-mock-last-url
[web] less verbose access to last fetch-mock URL

GitOrigin-RevId: 7266fdd62eab29b944675c865c6c5f547d207abc
2023-09-27 08:03:38 +00:00
Rebeka Dekany
df300b5f24 Fix: Chat messages deduplication (#12667)
* Prevent the duplicated message IDs by filtering them out

* fix: Prevent the duplicated message IDs by filtering them out

GitOrigin-RevId: 6d6c2821e6e29c9949fd323fa3a507016b51aff4
2023-04-19 08:03:31 +00:00
ilkin-overleaf
641db6b8d9 Merge pull request #10184 from overleaf/ii-ignore-received-chat-messages-test
[web] Outdated chat context tests for receiving messages

GitOrigin-RevId: c91cda5ada1c0ef26d41589cdbee31a8afd1e36a
2022-11-01 09:05:17 +00:00
Tim Down
e87e164a84 Merge pull request #9829 from overleaf/ds-chat-placeholder-change
Chat Pane-Change Placeholder for message input box

GitOrigin-RevId: 254efa89b883734ad3b7bfeefe625db84d93d579
2022-10-04 08:03:31 +00:00
Timothée Alby
3c01402bbd Merge pull request #7034 from overleaf/ta-pdf-detach-full
PDF Detach v2

GitOrigin-RevId: 3deb76474185f9176cde23ab32ef51b90df6e8e9
2022-04-05 12:19:23 +00:00
Alf Eaton
d1e3ce8225 [web] Add a delay before showing loading spinner while lazy-loading React components (#6262)
GitOrigin-RevId: a77d11e980103de31a5bf1a19391874bea70cfec
2022-01-12 09:03:08 +00:00
Alf Eaton
458c490f6f Add a client id when sending a chat message (#6073)
GitOrigin-RevId: 3ddfab6e711de6770b27aafe87491d33e310635c
2021-12-15 09:03:08 +00:00
Alf Eaton
7c97f8ab6e Switch to new JSX runtime (#4225)
* Use new JSX runtime and update Babel Node target
* Update .eslintrc
* Remove React imports

GitOrigin-RevId: 559de0267f8f2934c56a860ea8701bb522aa861a
2021-06-24 02:06:59 +00:00
Alf Eaton
f5a9b80052 Merge pull request #4087 from overleaf/hb-chat-error-boundary
Chat error boundary

GitOrigin-RevId: 19bc6ee243d9b30510f2164462760bad04516ec3
2021-06-08 02:05:49 +00:00
Miguel Serrano
bb88af80cf Merge pull request #3947 from overleaf/msm-reenable-eslint-rules
Reenable `eslint` rules

GitOrigin-RevId: a0aa5f941ba1bc49ff758b5256f91d696f442c6d
2021-05-14 02:09:45 +00:00
Alf Eaton
1be43911b4 Merge pull request #3942 from overleaf/prettier-trailing-comma
Set Prettier's "trailingComma" setting to "es5"

GitOrigin-RevId: 9f14150511929a855b27467ad17be6ab262fe5d5
2021-04-28 02:10:01 +00:00
Alasdair Smith
f33c00f2fd Merge pull request #3944 from overleaf/revert-3943-revert-3735-as-chat-reducer
Re-do Refactor chat store to use React state

GitOrigin-RevId: 626e3379ddb2f75680742df8957fbe350ba89881
2021-04-24 02:10:01 +00:00
Alasdair Smith
b3b8502e5e Merge pull request #3943 from overleaf/revert-3735-as-chat-reducer
Revert "Refactor chat store to use React state"

GitOrigin-RevId: e75e2d56a80c3741415bea3941a26f7dd8f505d3
2021-04-23 02:09:59 +00:00
Alasdair Smith
bb4523b7f6 Merge pull request #3735 from overleaf/as-chat-reducer
Refactor chat store to use React state

GitOrigin-RevId: 800a21c3c8a5c3c628c0a13bcb091675d1fb6f25
2021-04-23 02:09:54 +00:00
Alf Eaton
1ebc8a79cb Merge pull request #3495 from overleaf/ae-prettier-2
Upgrade Prettier to v2

GitOrigin-RevId: 85aa3fa1acb6332c4f58c46165a43d1a51471f33
2021-04-15 02:05:22 +00:00
Eric Mc Sween
2138bd2a80 Merge pull request #3680 from overleaf/as-em-tm-remove-uiconfig
Remove unused uiConfig global variable from frontend and tests

GitOrigin-RevId: 390abdc097cd9904f7a1c1849e58baf70bea5c72
2021-02-23 03:04:39 +00:00
Jakob Ackermann
da641ba039 Merge pull request #3649 from overleaf/as-chat-test-cleanup
Chat test cleanup

GitOrigin-RevId: 4323d93f64f0e51efd2931acbc77fc9b43a216cd
2021-02-18 03:04:51 +00:00
Miguel Serrano
260b878b7d [ReactNavToolbar] Chat Toggle Button + chat-context (#3625)
* Added toggle chat button to navigation header

* new `useBrowserWindow` hook to work with browser title and focus

* react2angular chat toggle button plumbing

GitOrigin-RevId: 4380f1db9c7cc9a25bfb8d7a33e18d61b1d32993
2021-02-10 03:04:39 +00:00
Hugh O'Brien
9b70fe7318 Merge pull request #3614 from overleaf/msm-chat-add-message-id
[Chat] Added `id` to message groups

GitOrigin-RevId: 45e73ad236984bfbac45c837e603c6ae04382972
2021-02-04 03:04:39 +00:00
Paulo Jorge Reis
11e58b5844 Add timeout upgrade prompt to the new compile UI (#3528)
* Uncouple account-upgrade and exposted-settings from Angular

* Mock socket shim with the correct methods

* Extract timeout upgrade prompt to a component

GitOrigin-RevId: ee8058b38bf5e20924a21f40d32c5bb0ee06c555
2021-01-15 03:05:48 +00:00
Miguel Serrano
864a75c284 Fixed unread message count in react chat (#3529)
* Fixed unread message count in react chat

The problem was caused by ChatStore being instantiated multiple times on each `useRef` call, plus also incorrectly cleaned-up, since it should be calling `socket.removeListener` instead of `socket.off` on effect destroy.

* deferred loading messages until chat is opened

GitOrigin-RevId: b990cd06cea6630472b0911b56219766717aaff6
2021-01-12 03:04:26 +00:00
Miguel Serrano
1fcf94c3b9 Merge pull request #3436 from overleaf/msm-react-shared-context
React shared context

GitOrigin-RevId: ebc6fa90dd8c65ddf803fd457c99a30f0e8e3c9c
2020-12-15 03:05:07 +00:00
Timothée Alby
420aa4a657 Merge pull request #3232 from overleaf/ta-file-tree-react
React File Tree

GitOrigin-RevId: fb3141ba8cd9ca0d68e87edb74764a360144c8fe
2020-11-27 03:05:05 +00:00
Miguel Serrano
3b1c4e19a4 Merge pull request #3300 from overleaf/msm-chat-react-store
React chat store

GitOrigin-RevId: 204009eb5798b02a41e621b33b05ef0cb9d10b15
2020-11-25 03:04:29 +00:00
Jessica Lawshe
d138837049 Merge pull request #3367 from overleaf/ho-ms-jel-chat-a11y
Improve chat accessibility

GitOrigin-RevId: 853da57460c7e3a18abbe1130553e34bd661b6b3
2020-11-10 03:04:40 +00:00
Miguel Serrano
df37668180 Merge pull request #3267 from overleaf/msm-react-chat-tests
React chat tests

GitOrigin-RevId: e3b4d5b7cb2657d9aad7e1006c18db4e6c0d8a3f
2020-10-28 03:04:53 +00:00