Skip to content
This repository has been archived by the owner on Sep 11, 2024. It is now read-only.

Add formatting buttons to the WysiwygComposer #9410

Merged
merged 14 commits into from
Oct 14, 2022

Conversation

florianduros
Copy link
Contributor

@florianduros florianduros commented Oct 13, 2022

Checklist

  • Tests written for new code (and old code if feasible)
  • Linter and other CI checks pass
  • Sign-off given on the changes (see CONTRIBUTING.md)

Notes: Add formatting buttons to the rich text editor

  • New formatting buttons which reflect the internal state of the wysiwyg editor
  • The typescript definition of the matrix-wysiwyg is still febrile and it will be improve in the future. That's why we need to do the ReturnType.
  • The useWysiwyg hook for matrix-wysiwyg doesn't have a onChange handler anymore but returns directly the content alongside of the formattingStates.
  • The formatting buttons increase the height of the editor and emoji, attachment... buttons weren't aligned. I added an ugly workaround CSS to fix it. In one of the next PR, the wysiwyg visual will be close to the expected visual and it will need to reorganise the bottom part of the room. For example, the emoji button and the encrypted icon will be outlined with the editor. It'll change the component structure and the related CSS. That's why a temporary workaround is used here.
  • The Wysiwyg lab flag is renamed to Try out the rich text editor (plain text mode coming soon)
  • Also, I would like to not mock the useWysiwyg hook and make it works in the test environment. Currently, we are mocking the fetch in matrix-wysiwyg repository (https://github.com/matrix-org/matrix-wysiwyg/blob/main/platforms/web/test.setup.ts) to return the wasm file. Here the wasm is in the js file... With the deadline, sadly I don't have extra time to make it work here....

Here's what your changelog entry will look like:

✨ Features

@florianduros florianduros changed the title Add formatting buttons for WysisygComposer Add formatting buttons for WysiswgComposer Oct 13, 2022
@florianduros florianduros changed the title Add formatting buttons for WysiswgComposer Add formatting buttons for WysiwygComposer Oct 13, 2022
@florianduros florianduros added the T-Enhancement New features, changes in functionality, performance boosts, user-facing improvements label Oct 13, 2022
@florianduros florianduros marked this pull request as ready for review October 14, 2022 08:12
@florianduros florianduros requested a review from a team as a code owner October 14, 2022 08:12
@florianduros florianduros changed the title Add formatting buttons for WysiwygComposer Add formatting buttons to the WysiwygComposer Oct 14, 2022
Copy link
Contributor

@germain-gg germain-gg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me!

@florianduros florianduros merged commit 77543b3 into develop Oct 14, 2022
@florianduros florianduros deleted the feat/add-formating-buttons-to-wysiwyg branch October 14, 2022 09:19
su-ex added a commit to SchildiChat/matrix-react-sdk that referenced this pull request Oct 29, 2022
* Include a file-safe room name and ISO date in chat exports ([\matrix-org#9440](matrix-org#9440)). Fixes element-hq/element-web#21812 and element-hq/element-web#19724.
* Room call banner ([\matrix-org#9378](matrix-org#9378)). Fixes element-hq/element-web#23453. Contributed by @toger5.
* Device manager - spinners while devices are signing out ([\matrix-org#9433](matrix-org#9433)). Fixes element-hq/element-web#15865.
* Device manager - silence call ringers when local notifications are silenced ([\matrix-org#9420](matrix-org#9420)).
* Pass the current language to Element Call ([\matrix-org#9427](matrix-org#9427)).
* Hide screen-sharing button in Element Call on desktop ([\matrix-org#9423](matrix-org#9423)).
* Add reply support to WysiwygComposer ([\matrix-org#9422](matrix-org#9422)). Contributed by @florianduros.
* Disconnect other connected devices (of the same user) when joining an Element call ([\matrix-org#9379](matrix-org#9379)).
* Device manager - device tile main click target ([\matrix-org#9409](matrix-org#9409)).
* Add formatting buttons to the rich text editor ([\matrix-org#9410](matrix-org#9410)). Contributed by @florianduros.
* Device manager - current session context menu ([\matrix-org#9386](matrix-org#9386)).
* Remove piwik config fallback for privacy policy URL ([\matrix-org#9390](matrix-org#9390)).
* Add the first step to integrate the matrix wysiwyg composer ([\matrix-org#9374](matrix-org#9374)). Contributed by @florianduros.
* Device manager - UA parsing tweaks ([\matrix-org#9382](matrix-org#9382)).
* Device manager - remove client information events when disabling setting ([\matrix-org#9384](matrix-org#9384)).
* Add Element Call participant limit ([\matrix-org#9358](matrix-org#9358)).
* Add Element Call room settings ([\matrix-org#9347](matrix-org#9347)).
* Device manager - render extended device information ([\matrix-org#9360](matrix-org#9360)).
* New group call experience: Room header and PiP designs ([\matrix-org#9351](matrix-org#9351)).
* Pass language to Jitsi Widget ([\matrix-org#9346](matrix-org#9346)). Contributed by @Fox32.
* Add notifications and toasts for Element Call calls ([\matrix-org#9337](matrix-org#9337)).
* Device manager - device type icon ([\matrix-org#9355](matrix-org#9355)).
* Delete the remainder of groups ([\matrix-org#9357](matrix-org#9357)). Fixes element-hq/element-web#22770.
* Device manager - display client information in device details ([\matrix-org#9315](matrix-org#9315)).
* Send Content-Type: application/json header for integration manager /register API ([\matrix-org#9490](matrix-org#9490)). Fixes element-hq/element-web#23580.
* Device manager - put client/browser device metadata in correct section ([\matrix-org#9447](matrix-org#9447)).
* update the room unread notification counter when the server changes the value without any related read receipt ([\matrix-org#9438](matrix-org#9438)).
* Don't show call banners in video rooms ([\matrix-org#9441](matrix-org#9441)).
* Prevent useContextMenu isOpen from being true if the button ref goes away ([\matrix-org#9418](matrix-org#9418)). Fixes matrix-org/element-web-rageshakes#15637.
* Automatically focus the WYSIWYG composer when you enter a room ([\matrix-org#9412](matrix-org#9412)).
* Improve the tooltips on the call lobby join button ([\matrix-org#9428](matrix-org#9428)).
* Pass the homeserver's base URL to Element Call ([\matrix-org#9429](matrix-org#9429)). Fixes element-hq/element-web#23301.
* Better accommodate long room names in call toasts ([\matrix-org#9426](matrix-org#9426)).
* Hide virtual widgets from the room info panel ([\matrix-org#9424](matrix-org#9424)). Fixes element-hq/element-web#23494.
* Inhibit clicking on sender avatar in threads list ([\matrix-org#9417](matrix-org#9417)). Fixes element-hq/element-web#23482.
* Correct the dir parameter of MSC3715 ([\matrix-org#9391](matrix-org#9391)). Contributed by @dhenneke.
* Use a more correct subset of users in `/remakeolm` developer command ([\matrix-org#9402](matrix-org#9402)).
* use correct default for notification silencing ([\matrix-org#9388](matrix-org#9388)). Fixes element-hq/element-web#23456.
* Device manager - eagerly create `m.local_notification_settings` events ([\matrix-org#9353](matrix-org#9353)).
* Close incoming Element call toast when viewing the call lobby ([\matrix-org#9375](matrix-org#9375)).
* Always allow enabling sending read receipts ([\matrix-org#9367](matrix-org#9367)). Fixes element-hq/element-web#23433.
* Fixes (element-hq/element-web/issues/22609) where the white theme is not applied when `white -> dark -> white` sequence is done. ([\matrix-org#9320](matrix-org#9320)). Contributed by @florianduros.
* Fix applying programmatically set height for "top" room layout ([\matrix-org#9339](matrix-org#9339)). Contributed by @Fox32.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
T-Enhancement New features, changes in functionality, performance boosts, user-facing improvements
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants