Return to using Fira Code as the default monospace font#31302
Conversation
because Inconsolata lacks Box Drawings and Geometric Shapes glyphs. Fixes #31289 Partially reverts matrix-org/matrix-react-sdk#3008
|
(i've set a full playwright screenshot update going overnight) |
t3chguy
left a comment
There was a problem hiding this comment.
Is the font size increasing substantially expected?
yes, pretty much; unintuitively there's no real guarantee that two fonts have similar physical sizing at the same point size. That said, I can't quite decide whether this is a feature or a bug - i.e. are we just used to Inconsolata being smaller. I agree it jars a bit (and the reason I moved away from Fira in 2019 was because it was a bit ugly due to the size and the @ symbols); I'll experiment with some alternatives. In other news, just how flakey should the playwright snapshot tests be? All sorts of unrelated screens claim to have changed due to this. |
|
ftr, I think the choice of monospace fonts on Google Fonts with suitable licenses and fuller unicode support here are:
|
They are mostly stable, some known issues were recently fixed around map rendering, some others may still lurk. https://e2e-31302--matrix-react-sdk.netlify.app/#?testId=8dfc0d81b54fac499770-4911a8c051239e1a3ae6&q=s:failed & https://e2e-31302--matrix-react-sdk.netlify.app/#?testId=a5a7240da5001bef4375-5678fb9e8a8d87cadd6d&q=s:failed both look to be related to the effective monospace font size change |
|
So in terms of choices: Honestly, they're all pretty similar... other than Inconsolata which is more condensed than the rest. So I vote we go with Fira Code (which was commissioned by Mozilla, as opposed to the others which come from Google/MSFT/Jetbrains), and if necessary bump the font size down by 1 point for multiline code blocks? ftr, switching fonts around here is a matter of: |
this was pissing me off, so i've tried #31364 |
Changes in [1.12.7](https://github.com/element-hq/element-web/releases/tag/v1.12.7) (2025-12-16) ================================================================================================ ✨ Features ----------- * Replace legacy icons with compound ([#31424](element-hq/element-web#31424)). Contributed by @t3chguy. * Update polls UX to match EX Mobile and improve accessibility ([#31245](element-hq/element-web#31245)). Contributed by @langleyd. * Add option to enable read receipt and marker when user interact with UI ([#31353](element-hq/element-web#31353)). Contributed by @florianduros. * Introduce a hook to auto dispose view models ([#31178](element-hq/element-web#31178)). Contributed by @MidhunSureshR. * Update settings toggles to use consistent design across app. ([#30169](element-hq/element-web#30169)). Contributed by @Half-Shot. * Add ability to the room view to hide widgets ([#31400](element-hq/element-web#31400)). Contributed by @langleyd. * call: Pass the echo cancellation and noise suppression settings to EC ([#31317](element-hq/element-web#31317)). Contributed by @BillCarsonFr. * Tweak rendering of icons for a11y ([#31358](element-hq/element-web#31358)). Contributed by @t3chguy. * Implement new `renderNotificationDecoration` from module API ([#31389](element-hq/element-web#31389)). Contributed by @MidhunSureshR. * Replace more icons with compound ([#31381](element-hq/element-web#31381)). Contributed by @t3chguy. * Replace more icons with compound ([#31378](element-hq/element-web#31378)). Contributed by @t3chguy. * `<Banner/>`: Hide `Dismiss` button if `onClose` handler is not provided. ([#31362](element-hq/element-web#31362)). Contributed by @kaylendog. * Replace batch of legacy icons with compound design tokens ([#31360](element-hq/element-web#31360)). Contributed by @t3chguy. * MSC4380: Invite blocking ([#31268](element-hq/element-web#31268)). Contributed by @richvdh. * Tweak rendering of icons for accessibility ([#31346](element-hq/element-web#31346)). Contributed by @t3chguy. * Implement a shared `Banner` component. ([#31266](element-hq/element-web#31266)). Contributed by @kaylendog. * Allow the Login screen to use the dark theme ([#31293](element-hq/element-web#31293)). Contributed by @richvdh. 🐛 Bug Fixes ------------ * [Backport staging] Amend e2e normal icon from lock-solid to info ([#31559](element-hq/element-web#31559)). Contributed by @t3chguy. * [Backport staging] Fix CSS specificity causing icon issues in e2e verification ([#31548](element-hq/element-web#31548)). Contributed by @RiotRobot. * [Backport staging] Fix e2e icons in CompleteSecurity \& SetupEncryptionBody ([#31522](element-hq/element-web#31522)). Contributed by @RiotRobot. * [Backport staging] Remove an extra paragraph in advanced room settings ([#31511](element-hq/element-web#31511)). Contributed by @RiotRobot. * [Backport staging] Don't show the key storage out of sync toast when backup disabled ([#31507](element-hq/element-web#31507)). Contributed by @RiotRobot. * Fix composer button visibility in contrast colour mode ([#31255](element-hq/element-web#31255)). Contributed by @t3chguy. * Ensure correct room version is used and permissions are appropriately sert when creating rooms ([#31464](element-hq/element-web#31464)). Contributed by @Half-Shot. * Fix e2e icon rendering ([#31454](element-hq/element-web#31454)). Contributed by @t3chguy. * EventIndexer: ensure we add initial checkpoints when the db is first opened ([#31448](element-hq/element-web#31448)). Contributed by @richvdh. * Fix `/join <alias>` command failing due to race condition ([#31433](element-hq/element-web#31433)). Contributed by @MidhunSureshR. * MessageEventIndexDialog: distinguish indexed rooms ([#31436](element-hq/element-web#31436)). Contributed by @richvdh. * Move `EditInPlace` out of `Form` (Fixes: reloading EW on EC url update) ([#31434](element-hq/element-web#31434)). Contributed by @toger5. * Fixes issue where cursor would jump to the beginning of the input field after converting Japanese text and pressing Tab ([#31432](element-hq/element-web#31432)). Contributed by @shinaoka. * Fix widgets getting stuck in loading states ([#31314](element-hq/element-web#31314)). Contributed by @robintown. * Room list: fix room options remaining on room item after mouse leaving ([#31414](element-hq/element-web#31414)). Contributed by @florianduros. * Make `RoomList.showMessagePreview` configurable by `config.json` ([#31419](element-hq/element-web#31419)). Contributed by @florianduros. * Fix bug which caused app not to load correctly when `force_verification` is enabled ([#31265](element-hq/element-web#31265)). Contributed by @richvdh. * Room list: display the menu option on the room list item when clicked/opened ([#31380](element-hq/element-web#31380)). Contributed by @florianduros. * Fix handling of SVGs ([#31359](element-hq/element-web#31359)). Contributed by @t3chguy. * Fix word wrapping in expanded left panel buttons ([#31377](element-hq/element-web#31377)). Contributed by @t3chguy. * Fix aspect ratio on error view background ([#31361](element-hq/element-web#31361)). Contributed by @t3chguy. * Fix failure to request persistent storage perms ([#31299](element-hq/element-web#31299)). Contributed by @richvdh. * Fix calls sometimes not knowing that they're presented ([#31313](element-hq/element-web#31313)). Contributed by @robintown. Changes in [1.12.6](https://github.com/element-hq/element-web/releases/tag/v1.12.6) (2025-12-03) ================================================================================================ This release fixes a bug where 1:1 calling was incorrectly not available if no Element Call focus was set. 🐛 Bug Fixes ------------ * Add option to pick call options for voice calls. ([#31413](element-hq/element-web#31413)). Changes in [1.12.5](https://github.com/element-hq/element-web/releases/tag/v1.12.5) (2025-12-02) ================================================================================================ ✨ Features ----------- * Update Emojibase to v17 ([#31307](element-hq/element-web#31307)). Contributed by @t3chguy. * Adds tooltip for compose menu ([#31122](element-hq/element-web#31122)). Contributed by @byteplow. * Add option to hide pinned message banner in room view ([#31296](element-hq/element-web#31296)). Contributed by @florianduros. * update twemoji to not monochromise emoji with BLACK in their name ([#31281](element-hq/element-web#31281)). Contributed by @ara4n. * upgrade to twemoji 17.0.2 and fix #14695 ([#31267](element-hq/element-web#31267)). Contributed by @ara4n. * Add options to hide right panel in room view ([#31252](element-hq/element-web#31252)). Contributed by @florianduros. * Delayed event management: split endpoints, no auth ([#31183](element-hq/element-web#31183)). Contributed by @AndrewFerr. * Support using Element Call for voice calls in DMs ([#30817](element-hq/element-web#30817)). Contributed by @Half-Shot. * Improve screen reader accessibility of auth pages ([#31236](element-hq/element-web#31236)). Contributed by @t3chguy. * Add posthog tracking for key backup toasts ([#31195](element-hq/element-web#31195)). Contributed by @Half-Shot. 🐛 Bug Fixes ------------ * Return to using Fira Code as the default monospace font ([#31302](element-hq/element-web#31302)). Contributed by @ara4n. * Fix case of home screen being displayed erroneously ([#31301](element-hq/element-web#31301)). Contributed by @langleyd. * Fix message edition and reply when multiple rooms at displayed the same moment ([#31280](element-hq/element-web#31280)). Contributed by @florianduros. * Key storage out of sync: reset key backup when needed ([#31279](element-hq/element-web#31279)). Contributed by @uhoreg. * Fix invalid events crashing entire room rather than just their tile ([#31256](element-hq/element-web#31256)). Contributed by @t3chguy. * Fix expand button of space panel getting cut off at the edges ([#31259](element-hq/element-web#31259)). Contributed by @MidhunSureshR. * Fix pill buttons in dialogs ([#31246](element-hq/element-web#31246)). Contributed by @dbkr. * Fix blank sections at the top and bottom of the member list when scrolling ([#31198](element-hq/element-web#31198)). Contributed by @langleyd. * Fix emoji category selection with keyboard ([#31162](element-hq/element-web#31162)). Contributed by @langleyd. Changes in [1.12.4](https://github.com/element-hq/element-web/releases/tag/v1.12.4) (2025-11-18) ================================================================================================ ✨ Features ----------- * Apply aria-hidden to emoji in SAS verification ([#31204](element-hq/element-web#31204)). Contributed by @t3chguy. * Add options to hide header and composer of room view for the module api ([#31095](element-hq/element-web#31095)). Contributed by @florianduros. * Experimental Module API Additions ([#30863](element-hq/element-web#30863)). Contributed by @dbkr. * Change polls to use fieldset/legend markup ([#31160](element-hq/element-web#31160)). Contributed by @langleyd. * Use compound Button styles for Jitsi button ([#31159](element-hq/element-web#31159)). Contributed by @Half-Shot. * Add FocusLock to emoji picker ([#31146](element-hq/element-web#31146)). Contributed by @langleyd. * Move room name, avatar, and topic to IOpts. ([#30981](element-hq/element-web#30981)). Contributed by @kaylendog. * Add a devtool for looking at users and their devices ([#30983](element-hq/element-web#30983)). Contributed by @uhoreg. 🐛 Bug Fixes ------------ * Fix room list handling of membership changes ([#31197](element-hq/element-web#31197)). Contributed by @t3chguy. * Fix room list unable to be resized when displayed after a module ([#31186](element-hq/element-web#31186)). Contributed by @florianduros. * Inhibit keyboard highlights in dialogs when effector is not in focus ([#31181](element-hq/element-web#31181)). Contributed by @t3chguy. * Strip mentions from forwarded messages ([#30884](element-hq/element-web#30884)). Contributed by @twassman. * Don't allow pin or edit of messages with a send status ([#31158](element-hq/element-web#31158)). Contributed by @langleyd. * Hide room header buttons if the room hasn't been created yet. ([#31092](element-hq/element-web#31092)). Contributed by @Half-Shot. * Fix screen readers not indicating the emoji picker search field is focused. ([#31128](element-hq/element-web#31128)). Contributed by @langleyd. * Fix emoji picker highlight missing when not active element ([#31148](element-hq/element-web#31148)). Contributed by @t3chguy. * Add relevant aria attribute for selected emoji in the emoji picker ([#31125](element-hq/element-web#31125)). Contributed by @t3chguy. * Fix tooltips within context menu portals being unreliable ([#31129](element-hq/element-web#31129)). Contributed by @t3chguy. * Avoid excessive re-render of room list and member list ([#31131](element-hq/element-web#31131)). Contributed by @florianduros. * Make emoji picker height responsive. ([#31130](element-hq/element-web#31130)). Contributed by @langleyd. * Emoji Picker: Focused emoji does not move with the arrow keys ([#30893](element-hq/element-web#30893)). Contributed by @langleyd. * Fix audio player seek bar position ([#31127](element-hq/element-web#31127)). Contributed by @florianduros. * Add aria label to emoji picker search ([#31126](element-hq/element-web#31126)). Contributed by @langleyd. Changes in [1.12.3](https://github.com/element-hq/element-web/releases/tag/v1.12.3) (2025-11-04) ================================================================================================ 🦖 Deprecations --------------- * Remove allowVoipWithNoMedia feature flag ([#31087](element-hq/element-web#31087)). Contributed by @Half-Shot. ✨ Features ----------- * Change module API to be an instance getter ([#31025](element-hq/element-web#31025)). Contributed by @dbkr. 🐛 Bug Fixes ------------ * Show hover elements when keyboard focus is within an event tile ([#31078](element-hq/element-web#31078)). Contributed by @t3chguy. * Ensure toolbar navigation pattern works in MessageActionBar ([#31080](element-hq/element-web#31080)). Contributed by @t3chguy. * Ensure sent markers are hidden when showing thread summary. ([#31076](element-hq/element-web#31076)). Contributed by @Half-Shot. * Fix translation in dev mode ([#31045](element-hq/element-web#31045)). Contributed by @florianduros. * Fix sort order in space hierarchy ([#30975](element-hq/element-web#30975)). Contributed by @t3chguy. * New Room list: don't display message preview of thread ([#31043](element-hq/element-web#31043)). Contributed by @florianduros. * Revert "A11y: move focus to right panel when opened" ([#30999](element-hq/element-web#30999)). Contributed by @florianduros. * Fix highlights in messages (or search results) breaking links ([#30264](element-hq/element-web#30264)). Contributed by @bojidar-bg. * Add prepare script ([#31030](element-hq/element-web#31030)). Contributed by @dbkr. * Fix html exports by adding SDKContext ([#30987](element-hq/element-web#30987)). Contributed by @t3chguy.





Return to using Fira Code as the default monospace font, because Inconsolata lacks Box Drawings and Geometric Shapes glyphs.
Fixes #31289
Partially reverts matrix-org/matrix-react-sdk#3008
Provides a different solution to #9765