Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support Custom CSS Stylesheet #7316

Open
yyportne opened this issue Sep 11, 2018 · 38 comments
Open

Support Custom CSS Stylesheet #7316

yyportne opened this issue Sep 11, 2018 · 38 comments
Assignees
Labels
A-Theming P3 T-Enhancement X-Needs-Product More input needed from the Product team

Comments

@yyportne
Copy link

It would be helpful for people with usability issues such as vision problems to be able to modify the default appearance of riot-desktop. For example the colors (text, background) and font-size.
A user css stylesheet could be loaded (if present) from riots app-data directory.

@MTRNord
Copy link
Contributor

MTRNord commented Sep 11, 2018

I think you want basicly the same as I do in #5844

@yyportne
Copy link
Author

I think #5844 is different because you ask for a theme engine and builder, which is way more complex.
In this issue I am only asking for some mechanism to load a *.css file into riot in order to workaround some usability issues.

@MTRNord
Copy link
Contributor

MTRNord commented Sep 11, 2018

#5844 is meant of a combination of what telegram has for styles and having a gui to live create thoose styles in my head atleast.

So just to be sure this is basicly to load css into the client?

@yyportne
Copy link
Author

Sorry for the long delay of my reply. Yes my request is about loading a simple css. And in my case only text/background color and font-size changes need to be supported.

For example a family member which uses riot is not able to read the message when the text is red. Since he uses the dark theme the red on dark background has to little contrast.
(I believe riot does render text red for example with @room messages)

@yyportne
Copy link
Author

I forgot to mention that currently using keyboard short-cuts it's possible to scale the user interface. This is a good workaround for font-size issues.

@menturion
Copy link

+1
Customization and theming is essential.

@fti7
Copy link

fti7 commented Aug 26, 2019

Any Progress here? I also would like to adjust Theme Settings.
An additional Textarea under Settings would be sufficient

@turt2live turt2live added the Z-Community-PR Issue is solved by a community member's PR label Aug 31, 2019
@turt2live turt2live added X-Needs-Design X-Needs-Product More input needed from the Product team labels Aug 31, 2019
@lampholder
Copy link
Member

Thinking about this a bit more, I'm afraid I'm pretty certain that this isn't a feature that should be exposed in Riot today.

This is not to diminsh the accessibility issues, which do need addressing, nor is to say that I'm against users being able to style Riot to their liking in principle - the problem is just that if we offer theming via custom CSS in a text area, either:

  • it'll break all the time as we mangle selectors, giving a bad user experience and resulting in the filing of invalid bugs, or
  • we'll take care not to break it all the time, slowing us down as we work to not change code that was never designed not to be changed

Sorry to only ask this question now, but is there a reason that you can't use stylus/similar to provide this sort of theming? I think stylus works just as well (for a web session, anyway) as the proposed solution, without setting the wrong expectations for the user (I use it to make the composer/message history monospaced, for example).

@fti7
Copy link

fti7 commented Sep 3, 2019

Why no Stylus/Similiar: Simply because i want to use the Riot Desktop Clients and not an Web Browser

For me as an very new User here there was following possible ways to Customize the Theme to my needs.
Either

  1. hacking/patching the theme css file locally after each Update -> Ugly/Hard to Maintain/Share

  2. Create a new Theme and try to PR that into the Project (Which will be rejected because you need then maintain multiple Themes afterwards)

  3. Implement an real Theming Engine, maybe based on the existing SCSS Variables
    Personally i dont have an idea how to do this the right way & the Variables also need to be some kind of Stable.
    Also for accessible purposes we need to add more Variables like for Font Size
    BTW The Dark Theme scss Files also contains hacky CSS Code

=> A lot of Effort, Riot needs then official Support/Resources for Custom Theming to keep Variables Stable. (But its an Abstraction then and might be easier)
At the End its imho the best Solution

  1. Implement an Custom CSS Function
  • Pragmatic Solution
  • Infinite possibilities to modify(and break) things

I fully understand your Points and i also agree to it.
But i also dont see a Timeline for a complete supported Theming Engine.
There are so much other horrible UX Problems in Riot which should be addressed first.
So there might be several more Years to implement this.

Would it be an acceptable trade-off to move this Setting away from the normal User Settings Menu, to an (maybe hidden) Developer/Advanced Menu?
We could also Setup an Community Github Repo for User Themes which might be Maintained from the Creators. If some bigger CSS Changes in riot-web happens, it might also be easier to change the selectors directly for all Themes at once.

@quazgar
Copy link

quazgar commented Sep 3, 2019

I also strongly prefer the standalone desktop client, and I could live with changing identifiers or internal structure and I really like @fti7's idea of user-maintained repos with CSS style sheets.

@MTRNord
Copy link
Contributor

MTRNord commented Sep 4, 2019

Stylus works for web really nice. I did a theme with it before. It has some issues though like hunting for css names is a pain tbh. A integrated solution like for example what telegram has would be nice as that would even support desktop. Desktop can only currently supported with trickery which is not really any good.

@fti7
Copy link

fti7 commented Sep 12, 2019

@lampholder any updates to this Topic?

@Kommynct
Copy link

Kommynct commented Oct 1, 2019

I think the proper solution is to wait until riot is much more mature to do this... they're very correct that it would create an extremely jarring user experience, but maybe add it in a hidden menu that you can only access by doing something specific, like the developer menu in android, for advanced users?

@lampholder
Copy link
Member

The update is that we've started experimenting with an implementation of custom theming which lets you define a theme by specifying a set of configurable variables (right now that's basically just colours, but could extend to logos/font choices/font sizes too). We're trying to give some/most of the benefit of custom css, without the fragility/frustrations we'd cause by continuously changing how CSS selectors are handled within the app :D

Right now you can fiddle with the custom themes using /devtools or config.json: matrix-org/matrix-react-sdk#3503

We're planning to add support for custom fonts/font-sizes too. The eventual goal is to allow the same theme definitions to be shared (probably from an endpoint on the homeserver) across Riots web, desktop and mobile (but that's a little further in the future).

The inspiration for this work has been branding over accessibility, but I'd be interested to hear what other levers (if any) you think you'd need to be able to create more accessible themes?

@lampholder
Copy link
Member

To be a bit clearer, I'm confident that if we are to expose customisable themeing to Riot users it should be via the 'controlled theming' approach we've started with matrix-org/matrix-react-sdk#3503 in preference to a fully custom css approach, so I'm afraid I don't think we should merge #10707

@SimonSapin
Copy link

matrix-org/matrix-react-sdk#3503 seems to be all about color and not to provide any control over font sizes. I was hoping to increase them (for readability) without also increasing icon size and padding like Electron’s zoom does, which quickly reduces the amount of content that can fit on one screen.

@ara4n
Copy link
Member

ara4n commented Apr 25, 2020

custom font sizes are here at matrix-org/matrix-react-sdk#4424 ftr

@martinvonwittich
Copy link

The ability to drop in something like a UserContent.css into the Riot folder to override its CSS would be amazing. I would be fine with it if this breaks on every update; as far as I am concerned, Riot developers don't need to accommodate my local CSS hacks :)

@bwinton
Copy link

bwinton commented May 8, 2020

As I understand it, the main point against letting people use their own custom CSS is that it will inevitably break as the app gets updated and the structure of the pages change, and the developers think that they can offer the most common things as pre-defined variables…

Having worked on Firefox's UX team, I very much sympathize with both desires (to not have the design completely messed up, and to not have to deal with a ton of breakage), but as a user there are things I would like to change that aren't currently variables, and seem unlikely to be (like line spacing, avatar size, and minimum heights of elements), and so I'd like to propose something that might satisfy both sides.

What if Riot-Desktop loaded a file named something like Unsupported-Style-v1.6.0.css (and optionally sent its contents back to a server somewhere for the designers and developers to use to see what things people want to change)? That way, it would obviously be unsupported, so there shouldn't be that many complaints when things change, and it's clearly a per-version, so when the version gets updated, people will need to go through it to make sure it's still working they way they intend? Yes, it's more of a hardship on the people who want custom CSS, but as one of those people, I feel like that's a reasonable trade-off…

@ValeTheVioletMote
Copy link

ValeTheVioletMote commented May 13, 2020

People go out of their way and risk being banned by Discord just to load in custom css, and it's just as janky each time Discord updates. That doesn't slow them down.

We go to Matrix for the feeling of open source, user control, and community collaboration. Being able to style our own CSS fits well within that theme. It was the first thing I looked for when trying out Riot, and it's what led me here.

@FlosCarmeli
Copy link

I agree with @ValeTheVioletMote it should at least be an option, even if considered an unsupported feature. It would drive an even larger userbase.

@jryans jryans changed the title Support Custom CSS-Stylesheet Support Custom CSS Stylesheet May 15, 2020
@fooness
Copy link
Contributor

fooness commented Aug 5, 2020

Very much agree with the last four messages here. I’m happy with the custom theme support that Element already supports, but there’s still quite some things to fix. There’s very many elements that don’t respect the colors defined by custom themes as they are hardcoded in Element.

It would be great if Element would offer some way of loading custom css. There’s (maybe) three scenarios which are more or less important to different people.

  1. The server admin wants to define a global custom css file for all themes.
  2. The server admin wants to define a non-global custom css file per custom theme.
  3. The user wants to define a global custom css file.

In my opinion, Element should definitely support 1. and 2. … because, and that was also mentioned quite often in issues like this one, for 3. the users could just use one of the many browser plugins. (Some people might say that 3. is important for Element-Desktop, maybe?)

PS: And yes, if selectors, structures, or variables change in Element … and that “breaks” the custom themes … that’s fine. There’s changelogs we can look into and if we’re able to write custom css in the first place, then we’re also able to fix it. The custom theme feature could come with some kind of disclaimer (or somesuch), if that would give the team behind Matrix/Element a better feeling? Feel free to discuss …

@bwinton
Copy link

bwinton commented Aug 5, 2020

As a user of Element Desktop, yes, 3. is important for exactly that reason. 😉

@MTRNord
Copy link
Contributor

MTRNord commented Aug 5, 2020

well atleast 1 or a mix with 2 is already possible by making a full custom theme at compile time. It is a bit more complicated but easier to do when doing a full css file. CSS replacing is a bit difficult anyway I think. But some more comments in the already existing theme files would help doing themes at compiletime

@fooness
Copy link
Contributor

fooness commented Aug 5, 2020

@bwinton I don’t know if it’s possible to add custom css to Electron app, maybe there’s an easy way like in the browser, too? Anyway, I think that needs the most work from the developers as it also needs interface features and whatnot …

@MTRNord In the very beginning I tried that, but that’s just not comfortable. For every little change you’d need to recompile and at every update you need to recompile. It would be better to work with what’s there and just extend it. Ideally, “what’s there“ would be a perfect structure with semantic groups of elements with corresponding color variables. Think of the following screenshot taken from Slack, but it’s totally fine if for the beginning(!) that’s only possible via config.json

Screenshot 2020-08-05 at 18 32 46

And the reason I listed 1. and 2. is … there might be users who want to use the default light and/or dark theme and they should be able to without interference of custom css. People who choose to use the custom theme, they should also get the custom css (hence the feature for 2., custom css yes but only for custom themes if specified in those) …

@bwinton
Copy link

bwinton commented Aug 5, 2020

@fooness It's not possible without support by the developers of the app. (I mean, you could open the dev tools and change all the elements every time you start it up, but that's not really the same.) Also, my proposal above didn't require any UI…

@fooness
Copy link
Contributor

fooness commented Aug 5, 2020

@bwinton But where should this file be located and how do you want to edit it?

@bwinton
Copy link

bwinton commented Aug 5, 2020

Wherever the devs want to load it from, and with any standard text editor. (I like vi or Visual Studio Code, but your mileage may vary. 😉) I'm thinking it would work something like Firefox's userChrome.css

@fooness
Copy link
Contributor

fooness commented Aug 5, 2020

Not sure I can follow. If there’s something like Element-Web’s config.json anywhere in Element-Desktop which you could modify on your computer, then you could specify a global (see 1.) or non-global (see 2.) custom css file there and just create/edit that file.

So, if there is this file and possibility, then we’re basically all on the same track …

@bwinton
Copy link

bwinton commented Aug 5, 2020

There doesn't seem to be a config.json, and I'm not sure modifying a file in the app itself would lead to good things if it had to update… But other than that, I agree that that would work!

@MTRNord
Copy link
Contributor

MTRNord commented Aug 5, 2020

@bwinton there is a config.json somewhere. it might a) be deep in the files kinda hidden behind all the electron stuff or b) inside a asar file (which essentially is just a zip with a fancy name). not sure where it currently is but desktop is just the web app bundled in electron

@aaronraimist
Copy link
Collaborator

The location where you would put the config.json file is documented here: https://github.com/vector-im/element-desktop#user-specified-configjson

@bwinton
Copy link

bwinton commented Aug 5, 2020

Oh, fantastic! Yes, in that case that would be perfect!

@fooness
Copy link
Contributor

fooness commented Aug 5, 2020

Thank you, @aaronraimist … so that would basically solve the issue for @bwinton if custom css would be possible as described above (for example). To rephrase: allow setting a global custom css file as well as a per-custom-theme custom css file in config.json

@SimonSapin
Copy link

there is a config.json somewhere. it might a) be deep in the files kinda hidden behind all the electron stuff or b) inside a asar file (which essentially is just a zip with a fancy name).

Both of those are kinda user-hostile. It would be nice to make this file more easily editable by users without risk of it being overwritten in an update.

@aaronraimist
Copy link
Collaborator

@SimonBrandner SimonBrandner removed the Z-Community-PR Issue is solved by a community member's PR label Aug 27, 2021
@phil-s
Copy link

phil-s commented Sep 20, 2021

In a duplicate issue the comment was made:

We are not currently intending on supporting this ourselves - there are several web browser extensions which achieve this.

As has been mentioned here before, that does not help with the desktop client.

The desktop client's github repository just points to the web client's issue queue (here) saying that they're for the same product, which seems to lead to issues like this one being ignored under the assumption that users are using the web client. I can see why the maintainers don't want two issue queues, but at the same time it would be good if the desktop client was taken into consideration at such times.

It's crazy frustrating to be able to manually tweak the UI to my personal preferences via the developer tools, but have no way at all of persisting those styles from session to session.

This issue seemed to get derailed almost immediately into talk of some kind of theme system which I suspect will probably take a long time to develop and still won't achieve what was asked for -- which is something much, much simpler. We're not asking for anything more than web client users can already achieve using browser extensions, so I don't understand the concerns about custom styles causing undesirable problems -- allowing a custom stylesheet for desktop client users would merely be achieving parity with the web client.

Personally I don't need a fancy theme system, or a style editor, or any new UI. I just want to put some CSS in a file and have the desktop client read it. That facility would make a lot of people very happy. (Go ahead and develop the other stuff afterwards by all means, but this issue isn't about those things.)

BBaoVanC added a commit to boba-best/element.boba.best that referenced this issue Dec 20, 2021
* Include Vietnamese language ([\element-hq#20029](element-hq#20029)).
* Simple static location sharing ([\element-hq#19754](element-hq#19754)).
* Add support for the Indonesian language ([\element-hq#20032](element-hq#20032)). Fixes element-hq#20030. Contributed by @Linerly.
* Always unhide widgets on layout change (pinning a widget) ([\element-hq#7299](matrix-org/matrix-react-sdk#7299)).
* Update status message in the member list and user info panel when it is changed ([\element-hq#7338](matrix-org/matrix-react-sdk#7338)). Fixes element-hq#20127. Contributed by @SimonBrandner.
* Iterate space panel toggle collapse interaction ([\element-hq#7335](matrix-org/matrix-react-sdk#7335)). Fixes element-hq#20079.
* Spotlight search labs ([\element-hq#7116](matrix-org/matrix-react-sdk#7116)). Fixes element-hq#19530.
* Put room settings form elements in fieldsets ([\element-hq#7311](matrix-org/matrix-react-sdk#7311)).
* Add descriptions to ambiguous links for screen readers ([\element-hq#7310](matrix-org/matrix-react-sdk#7310)).
* Make tooltips keyboard accessible ([\#7281](matrix-org/matrix-react-sdk#7281)).
* Iterate room context menus for DMs ([\element-hq#7308](matrix-org/matrix-react-sdk#7308)). Fixes element-hq#19527.
* Update space panel expand mechanism ([\element-hq#7230](matrix-org/matrix-react-sdk#7230)). Fixes element-hq#17993.
* Add CSS variable to make the UI gaps consistent and fix the resize handle position ([\element-hq#7234](matrix-org/matrix-react-sdk#7234)). Fixes element-hq#19904 and element-hq#19938.
* Custom location sharing. ([\element-hq#7185](matrix-org/matrix-react-sdk#7185)).
* Simple static location sharing ([\element-hq#7135](matrix-org/matrix-react-sdk#7135)).
* Finish sending pending messages before leaving room ([\element-hq#7276](matrix-org/matrix-react-sdk#7276)). Fixes element-hq#4702.
* Dropdown follow wai-aria practices for expanding on arrow keys ([\element-hq#7277](matrix-org/matrix-react-sdk#7277)). Fixes element-hq#3687.
* Expose PL control for pinned events when lab enabled ([\element-hq#7278](matrix-org/matrix-react-sdk#7278)). Fixes element-hq#5396.
* In People & Favourites metaspaces always show all rooms ([\element-hq#7288](matrix-org/matrix-react-sdk#7288)). Fixes element-hq#20048.
* Don't allow calls when the connection the server has been lost ([\element-hq#7287](matrix-org/matrix-react-sdk#7287)). Fixes element-hq#2096. Contributed by @SimonBrandner.
* Analytics opt in for posthog ([\element-hq#6936](matrix-org/matrix-react-sdk#6936)).
* Don't inhibit current room notifications if user has Modal open ([\element-hq#7274](matrix-org/matrix-react-sdk#7274)). Fixes element-hq#1118.
* Remove the `Screen sharing is here!` dialog ([\#7266](matrix-org/matrix-react-sdk#7266)). Fixes element-hq#18824. Contributed by @SimonBrandner.
* Make composer buttons react to settings without having to change room ([\element-hq#7264](matrix-org/matrix-react-sdk#7264)). Fixes element-hq#20011.
* Decorate view keyboard shortcuts link as a link ([\element-hq#7260](matrix-org/matrix-react-sdk#7260)). Fixes element-hq#20007.
* Improve ease of focusing on Room list Search ([\element-hq#7255](matrix-org/matrix-react-sdk#7255)). Fixes matrix-org/element-web-rageshakes#7017.
* Autofocus device panel entry when renaming device ([\element-hq#7249](matrix-org/matrix-react-sdk#7249)). Fixes element-hq#19984.
* Update Space Panel scrollable region ([\element-hq#7245](matrix-org/matrix-react-sdk#7245)). Fixes element-hq#19978.
* Replace breadcrumbs with recently viewed menu ([\element-hq#7073](matrix-org/matrix-react-sdk#7073)). Fixes element-hq#19528.
* Tweaks to informational architecture 1.1 ([\element-hq#7052](matrix-org/matrix-react-sdk#7052)). Fixes element-hq#19526, element-hq#19379, element-hq#17792, element-hq#16450, element-hq#19881, element-hq#19892, element-hq#19300, element-hq#19324, element-hq#17307, element-hq#17468 element-hq#19932 and element-hq#19956.
* [Release] Fix inline code block nowrap issue ([\element-hq#7407](matrix-org/matrix-react-sdk#7407)).
* don't collapse spaces in inline code blocks (https ([\element-hq#7328](matrix-org/matrix-react-sdk#7328)). Fixes element-hq#6051. Contributed by @HarHarLinks.
* Fix accessibility regressions ([\element-hq#7336](matrix-org/matrix-react-sdk#7336)).
* Debounce User Info start dm "Message" button ([\element-hq#7357](matrix-org/matrix-react-sdk#7357)). Fixes element-hq#7763.
* Fix thread filter being cut-off on narrow screens ([\element-hq#7354](matrix-org/matrix-react-sdk#7354)). Fixes element-hq#20146.
* Fix upgraded rooms wrongly showing up in spotlight ([\element-hq#7341](matrix-org/matrix-react-sdk#7341)). Fixes element-hq#20141.
* Show votes in replied-to polls (pass in getRelationsForEvent) ([\element-hq#7345](matrix-org/matrix-react-sdk#7345)). Fixes element-hq#20153.
* Keep all previously approved widget capabilities when requesting new capabilities ([\element-hq#7340](matrix-org/matrix-react-sdk#7340)). Contributed by @dhenneke.
* Only show poll previews when the polls feature is enabled ([\element-hq#7331](matrix-org/matrix-react-sdk#7331)).
* No-op action:join if the user is already invited for scalar ([\element-hq#7334](matrix-org/matrix-react-sdk#7334)). Fixes element-hq#20134.
* Don't show polls in timeline if polls are disabled ([\element-hq#7332](matrix-org/matrix-react-sdk#7332)). Fixes element-hq#20130.
* Don't send a poll response event if you are voting for your current c… ([\element-hq#7326](matrix-org/matrix-react-sdk#7326)). Fixes element-hq#20129.
* Don't show options button when the user can't modify widgets ([\element-hq#7324](matrix-org/matrix-react-sdk#7324)). Fixes element-hq#20114. Contributed by @SimonBrandner.
* Add vertical spacing between buttons when they go over multiple lines ([\element-hq#7314](matrix-org/matrix-react-sdk#7314)). Contributed by @twigleingrid.
* Improve accessibility of opening space create menu ([\element-hq#7316](matrix-org/matrix-react-sdk#7316)).
* Correct tab order in room preview dialog ([\element-hq#7302](matrix-org/matrix-react-sdk#7302)).
* Fix favourites and people metaspaces not rendering their content ([\#7315](matrix-org/matrix-react-sdk#7315)). Fixes element-hq#20070.
* Make clear button images visible in high contrast theme ([\element-hq#7306](matrix-org/matrix-react-sdk#7306)). Fixes element-hq#19931.
* Fix html exporting and improve output size ([\element-hq#7312](matrix-org/matrix-react-sdk#7312)). Fixes element-hq#19436 element-hq#20107 and element-hq#19441.
* Fix textual message stripping new line ([\element-hq#7239](matrix-org/matrix-react-sdk#7239)). Fixes element-hq#15320. Contributed by @renancleyson-dev.
* Fix issue with room list resizer getting clipped in firefox ([\element-hq#7303](matrix-org/matrix-react-sdk#7303)). Fixes element-hq#20076.
* Fix wrong indentation with nested ordered list unnesting list on edit ([\element-hq#7300](matrix-org/matrix-react-sdk#7300)). Contributed by @renancleyson-dev.
* Fix input field behaviour inside context menus ([\element-hq#7293](matrix-org/matrix-react-sdk#7293)). Fixes element-hq#19881.
* Corrected the alignment of the Edit button on LoginPage. ([\element-hq#7292](matrix-org/matrix-react-sdk#7292)). Contributed by @ankur12-1610.
* Allow sharing manual location without giving location permission ([\element-hq#7295](matrix-org/matrix-react-sdk#7295)). Fixes element-hq#20065. Contributed by @tulir.
* Make emoji picker search placeholder localizable ([\element-hq#7294](matrix-org/matrix-react-sdk#7294)).
* Fix jump to bottom on message send ([\element-hq#7280](matrix-org/matrix-react-sdk#7280)). Fixes element-hq#19859. Contributed by @SimonBrandner.
* Fix: Warning: Unsupported style property pointer-events. Did you mean pointerEvents? ([\element-hq#7291](matrix-org/matrix-react-sdk#7291)).
* Add edits and replies to the right panel timeline & prepare the timelineCard to share code with threads ([\element-hq#7262](matrix-org/matrix-react-sdk#7262)). Fixes element-hq#20012 and element-hq#19928.
* Fix labs exploding when lab group is empty ([\element-hq#7290](matrix-org/matrix-react-sdk#7290)). Fixes element-hq#20051.
* Update URL when room aliases are modified ([\element-hq#7289](matrix-org/matrix-react-sdk#7289)). Fixes element-hq#1616 and element-hq#1925.
* Render mini user menu for when space panel is disabled ([\element-hq#7258](matrix-org/matrix-react-sdk#7258)). Fixes element-hq#19998.
* When accepting DM from People metaspace don't switch to Home ([\element-hq#7272](matrix-org/matrix-react-sdk#7272)). Fixes element-hq#19995.
* Fix CallPreview `room is null` ([\element-hq#7265](matrix-org/matrix-react-sdk#7265)). Fixes element-hq#19990, element-hq#19972, matrix-org/element-web-rageshakes#7004 matrix-org/element-web-rageshakes#6991 and matrix-org/element-web-rageshakes#6964.
* Fixes more instances of double-translation ([\element-hq#7259](matrix-org/matrix-react-sdk#7259)). Fixes element-hq#20010.
* Fix video calls ([\element-hq#7256](matrix-org/matrix-react-sdk#7256)). Fixes element-hq#20008. Contributed by @SimonBrandner.
* Fix broken i18n in Forgot & Change password ([\element-hq#7252](matrix-org/matrix-react-sdk#7252)). Fixes element-hq#19989.
* Fix setBotPower to not use `.content` ([\element-hq#7179](matrix-org/matrix-react-sdk#7179)). Fixes element-hq#19845.
* Break long words in pinned messages to prevent overflow ([\element-hq#7251](matrix-org/matrix-react-sdk#7251)). Fixes element-hq#19985.
* Disallow sending empty feedbacks ([\element-hq#7240](matrix-org/matrix-react-sdk#7240)).
* Fix wrongly sized default sub-space icons in space panel ([\element-hq#7243](matrix-org/matrix-react-sdk#7243)). Fixes element-hq#19973.
* Hide clear cache and reload button if crash is before client init ([\element-hq#7242](matrix-org/matrix-react-sdk#7242)). Fixes matrix-org/element-web-rageshakes#6996.
* Fix automatic space switching wrongly going via Home for room aliases ([\element-hq#7247](matrix-org/matrix-react-sdk#7247)). Fixes element-hq#19974.
* Fix links being parsed as markdown links improperly ([\element-hq#7200](matrix-org/matrix-react-sdk#7200)). Contributed by @Palid.
su-ex added a commit to SchildiChat/element-web that referenced this issue Dec 21, 2021
* Include Vietnamese language ([\element-hq#20029](element-hq#20029)).
* Simple static location sharing ([\element-hq#19754](element-hq#19754)).
* Add support for the Indonesian language ([\element-hq#20032](element-hq#20032)). Fixes element-hq#20030. Contributed by @Linerly.
* Always unhide widgets on layout change (pinning a widget) ([\element-hq#7299](matrix-org/matrix-react-sdk#7299)).
* Update status message in the member list and user info panel when it is changed ([\element-hq#7338](matrix-org/matrix-react-sdk#7338)). Fixes element-hq#20127. Contributed by @SimonBrandner.
* Iterate space panel toggle collapse interaction ([\element-hq#7335](matrix-org/matrix-react-sdk#7335)). Fixes element-hq#20079.
* Spotlight search labs ([\element-hq#7116](matrix-org/matrix-react-sdk#7116)). Fixes element-hq#19530.
* Put room settings form elements in fieldsets ([\element-hq#7311](matrix-org/matrix-react-sdk#7311)).
* Add descriptions to ambiguous links for screen readers ([\element-hq#7310](matrix-org/matrix-react-sdk#7310)).
* Make tooltips keyboard accessible ([\#7281](matrix-org/matrix-react-sdk#7281)).
* Iterate room context menus for DMs ([\element-hq#7308](matrix-org/matrix-react-sdk#7308)). Fixes element-hq#19527.
* Update space panel expand mechanism ([\element-hq#7230](matrix-org/matrix-react-sdk#7230)). Fixes element-hq#17993.
* Add CSS variable to make the UI gaps consistent and fix the resize handle position ([\element-hq#7234](matrix-org/matrix-react-sdk#7234)). Fixes element-hq#19904 and element-hq#19938.
* Custom location sharing. ([\element-hq#7185](matrix-org/matrix-react-sdk#7185)).
* Simple static location sharing ([\element-hq#7135](matrix-org/matrix-react-sdk#7135)).
* Finish sending pending messages before leaving room ([\element-hq#7276](matrix-org/matrix-react-sdk#7276)). Fixes element-hq#4702.
* Dropdown follow wai-aria practices for expanding on arrow keys ([\element-hq#7277](matrix-org/matrix-react-sdk#7277)). Fixes element-hq#3687.
* Expose PL control for pinned events when lab enabled ([\element-hq#7278](matrix-org/matrix-react-sdk#7278)). Fixes element-hq#5396.
* In People & Favourites metaspaces always show all rooms ([\element-hq#7288](matrix-org/matrix-react-sdk#7288)). Fixes element-hq#20048.
* Don't allow calls when the connection the server has been lost ([\element-hq#7287](matrix-org/matrix-react-sdk#7287)). Fixes element-hq#2096. Contributed by @SimonBrandner.
* Analytics opt in for posthog ([\element-hq#6936](matrix-org/matrix-react-sdk#6936)).
* Don't inhibit current room notifications if user has Modal open ([\element-hq#7274](matrix-org/matrix-react-sdk#7274)). Fixes element-hq#1118.
* Remove the `Screen sharing is here!` dialog ([\#7266](matrix-org/matrix-react-sdk#7266)). Fixes element-hq#18824. Contributed by @SimonBrandner.
* Make composer buttons react to settings without having to change room ([\element-hq#7264](matrix-org/matrix-react-sdk#7264)). Fixes element-hq#20011.
* Decorate view keyboard shortcuts link as a link ([\element-hq#7260](matrix-org/matrix-react-sdk#7260)). Fixes element-hq#20007.
* Improve ease of focusing on Room list Search ([\element-hq#7255](matrix-org/matrix-react-sdk#7255)). Fixes matrix-org/element-web-rageshakes#7017.
* Autofocus device panel entry when renaming device ([\element-hq#7249](matrix-org/matrix-react-sdk#7249)). Fixes element-hq#19984.
* Update Space Panel scrollable region ([\element-hq#7245](matrix-org/matrix-react-sdk#7245)). Fixes element-hq#19978.
* Replace breadcrumbs with recently viewed menu ([\element-hq#7073](matrix-org/matrix-react-sdk#7073)). Fixes element-hq#19528.
* Tweaks to informational architecture 1.1 ([\element-hq#7052](matrix-org/matrix-react-sdk#7052)). Fixes element-hq#19526, element-hq#19379, element-hq#17792, element-hq#16450, element-hq#19881, element-hq#19892, element-hq#19300, element-hq#19324, element-hq#17307, element-hq#17468 element-hq#19932 and element-hq#19956.
* [Release] Fix inline code block nowrap issue ([\element-hq#7407](matrix-org/matrix-react-sdk#7407)).
* don't collapse spaces in inline code blocks (https ([\element-hq#7328](matrix-org/matrix-react-sdk#7328)). Fixes element-hq#6051. Contributed by @HarHarLinks.
* Fix accessibility regressions ([\element-hq#7336](matrix-org/matrix-react-sdk#7336)).
* Debounce User Info start dm "Message" button ([\element-hq#7357](matrix-org/matrix-react-sdk#7357)). Fixes element-hq#7763.
* Fix thread filter being cut-off on narrow screens ([\element-hq#7354](matrix-org/matrix-react-sdk#7354)). Fixes element-hq#20146.
* Fix upgraded rooms wrongly showing up in spotlight ([\element-hq#7341](matrix-org/matrix-react-sdk#7341)). Fixes element-hq#20141.
* Show votes in replied-to polls (pass in getRelationsForEvent) ([\element-hq#7345](matrix-org/matrix-react-sdk#7345)). Fixes element-hq#20153.
* Keep all previously approved widget capabilities when requesting new capabilities ([\element-hq#7340](matrix-org/matrix-react-sdk#7340)). Contributed by @dhenneke.
* Only show poll previews when the polls feature is enabled ([\element-hq#7331](matrix-org/matrix-react-sdk#7331)).
* No-op action:join if the user is already invited for scalar ([\element-hq#7334](matrix-org/matrix-react-sdk#7334)). Fixes element-hq#20134.
* Don't show polls in timeline if polls are disabled ([\element-hq#7332](matrix-org/matrix-react-sdk#7332)). Fixes element-hq#20130.
* Don't send a poll response event if you are voting for your current c… ([\element-hq#7326](matrix-org/matrix-react-sdk#7326)). Fixes element-hq#20129.
* Don't show options button when the user can't modify widgets ([\element-hq#7324](matrix-org/matrix-react-sdk#7324)). Fixes element-hq#20114. Contributed by @SimonBrandner.
* Add vertical spacing between buttons when they go over multiple lines ([\element-hq#7314](matrix-org/matrix-react-sdk#7314)). Contributed by @twigleingrid.
* Improve accessibility of opening space create menu ([\element-hq#7316](matrix-org/matrix-react-sdk#7316)).
* Correct tab order in room preview dialog ([\element-hq#7302](matrix-org/matrix-react-sdk#7302)).
* Fix favourites and people metaspaces not rendering their content ([\#7315](matrix-org/matrix-react-sdk#7315)). Fixes element-hq#20070.
* Make clear button images visible in high contrast theme ([\element-hq#7306](matrix-org/matrix-react-sdk#7306)). Fixes element-hq#19931.
* Fix html exporting and improve output size ([\element-hq#7312](matrix-org/matrix-react-sdk#7312)). Fixes element-hq#19436 element-hq#20107 and element-hq#19441.
* Fix textual message stripping new line ([\element-hq#7239](matrix-org/matrix-react-sdk#7239)). Fixes element-hq#15320. Contributed by @renancleyson-dev.
* Fix issue with room list resizer getting clipped in firefox ([\element-hq#7303](matrix-org/matrix-react-sdk#7303)). Fixes element-hq#20076.
* Fix wrong indentation with nested ordered list unnesting list on edit ([\element-hq#7300](matrix-org/matrix-react-sdk#7300)). Contributed by @renancleyson-dev.
* Fix input field behaviour inside context menus ([\element-hq#7293](matrix-org/matrix-react-sdk#7293)). Fixes element-hq#19881.
* Corrected the alignment of the Edit button on LoginPage. ([\element-hq#7292](matrix-org/matrix-react-sdk#7292)). Contributed by @ankur12-1610.
* Allow sharing manual location without giving location permission ([\element-hq#7295](matrix-org/matrix-react-sdk#7295)). Fixes element-hq#20065. Contributed by @tulir.
* Make emoji picker search placeholder localizable ([\element-hq#7294](matrix-org/matrix-react-sdk#7294)).
* Fix jump to bottom on message send ([\element-hq#7280](matrix-org/matrix-react-sdk#7280)). Fixes element-hq#19859. Contributed by @SimonBrandner.
* Fix: Warning: Unsupported style property pointer-events. Did you mean pointerEvents? ([\element-hq#7291](matrix-org/matrix-react-sdk#7291)).
* Add edits and replies to the right panel timeline & prepare the timelineCard to share code with threads ([\element-hq#7262](matrix-org/matrix-react-sdk#7262)). Fixes element-hq#20012 and element-hq#19928.
* Fix labs exploding when lab group is empty ([\element-hq#7290](matrix-org/matrix-react-sdk#7290)). Fixes element-hq#20051.
* Update URL when room aliases are modified ([\element-hq#7289](matrix-org/matrix-react-sdk#7289)). Fixes element-hq#1616 and element-hq#1925.
* Render mini user menu for when space panel is disabled ([\element-hq#7258](matrix-org/matrix-react-sdk#7258)). Fixes element-hq#19998.
* When accepting DM from People metaspace don't switch to Home ([\element-hq#7272](matrix-org/matrix-react-sdk#7272)). Fixes element-hq#19995.
* Fix CallPreview `room is null` ([\element-hq#7265](matrix-org/matrix-react-sdk#7265)). Fixes element-hq#19990, element-hq#19972, matrix-org/element-web-rageshakes#7004 matrix-org/element-web-rageshakes#6991 and matrix-org/element-web-rageshakes#6964.
* Fixes more instances of double-translation ([\element-hq#7259](matrix-org/matrix-react-sdk#7259)). Fixes element-hq#20010.
* Fix video calls ([\element-hq#7256](matrix-org/matrix-react-sdk#7256)). Fixes element-hq#20008. Contributed by @SimonBrandner.
* Fix broken i18n in Forgot & Change password ([\element-hq#7252](matrix-org/matrix-react-sdk#7252)). Fixes element-hq#19989.
* Fix setBotPower to not use `.content` ([\element-hq#7179](matrix-org/matrix-react-sdk#7179)). Fixes element-hq#19845.
* Break long words in pinned messages to prevent overflow ([\element-hq#7251](matrix-org/matrix-react-sdk#7251)). Fixes element-hq#19985.
* Disallow sending empty feedbacks ([\element-hq#7240](matrix-org/matrix-react-sdk#7240)).
* Fix wrongly sized default sub-space icons in space panel ([\element-hq#7243](matrix-org/matrix-react-sdk#7243)). Fixes element-hq#19973.
* Hide clear cache and reload button if crash is before client init ([\element-hq#7242](matrix-org/matrix-react-sdk#7242)). Fixes matrix-org/element-web-rageshakes#6996.
* Fix automatic space switching wrongly going via Home for room aliases ([\element-hq#7247](matrix-org/matrix-react-sdk#7247)). Fixes element-hq#19974.
* Fix links being parsed as markdown links improperly ([\element-hq#7200](matrix-org/matrix-react-sdk#7200)). Contributed by @Palid.
@dhenneke
Copy link
Contributor

I think this now get's more interesting with to the recent move to use CSS Variables and Compound. Customizing the new theme can be as easy as loading a new CSS file with:

.cpd-theme-light {
  --cpd-color-text-action-accent: blue;
}

This could maybe be done with a "additional_css_file": "..." in the config.json. This might conflict with the CSP, but if one injects this file into the webserver directory of e.g. the docker image, it would work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Theming P3 T-Enhancement X-Needs-Product More input needed from the Product team
Projects
None yet
Development

Successfully merging a pull request may close this issue.