nextcloud / nextcloud/server

Translucent elements without performance impact

Open
#45,452 5 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

0. Needs triage 30-feedback bug performance 🚀 regression
Dominant language
PHP
Stars
36.9k
Forks
5.2k
Avg merge
2d 3h
Merged PRs (30d)
713

Description

Due to This issue we added some conditional logic and avoid using elements with a translucent background in chrome (apart from MacOS).

I would like to suggest an alternative approach:

  • Create a blurred version of the background either in the clients or in the server
    This can be done with php-gd
 imagefilter($image, IMG_FILTER_GAUSSIAN_BLUR);
 imagejpeg($image, 'path/to/save/blurred_image.jpg');
  • Remove the transparency from the translucent elements and add instead the blurred background, perfectly superimposed to the non blurred one. This can be accomplished using a fixed pseudo element and a clipping mask. Here's a codepen PoC.

This creates the same effect without any extra (continuous) computation demand on the clients

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no repository files, tests, or entry points; begin by reviewing the linked spreed issue and CodePen proof of concept, then locate the translucent elements in the client. Confirm the Chrome-versus-macOS behavior and whether blurred backgrounds are generated by clients or the server. Done means the same visual effect works without continuous client-side computation.

Written by the indexing model from the issue text.

Assessment

Tech stack
css, php
Domain
design, frontend, performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.