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

[Bug]: Nextcloud 25 UI wallpaper problematic cache lifetime [FIXED] and instance theming vs default wallpapers colors conflict [REMAINING BUGS] #34578

Closed
6 of 9 tasks
Jerome-Herbinet opened this issue Oct 13, 2022 · 10 comments
Labels
0. Needs triage Pending check for reproducibility or if it fits our roadmap 25-feedback bug

Comments

@Jerome-Herbinet
Copy link
Member

Jerome-Herbinet commented Oct 13, 2022

⚠️ This issue respects the following points: ⚠️

  • This is a bug, not a question or a configuration/webserver/proxy issue.
  • This issue is not already reported on Github (I've searched it).
  • Nextcloud Server is up to date. See Maintenance and Release Schedule for supported versions.
  • Nextcloud Server is running on 64bit capable CPU, PHP and OS.
  • I agree to follow Nextcloud's Code of Conduct.

Bug description

1rst problem :
When I change the wallpaper, and go elsewhere in the interface, the old wallpaper is still displayed and I have to clear my browser's cache to see it. There is certainly a history of cache whose purpose is to optimize performance, but it harms the functional aspect of changing the image.

2nd problem (explanation updated 20 minutes after opening the issue) :
I noticed that when you change the wallpaper (from the set of "default" wallpapers provided by Nextcloud), the interface changes color (and i assume here and consider that this color is a "user" color and not a color applied to the whole instance). Nice idea ! But there is a problem. If afterwards, we go to change manually the color of the whole instance (in the theming options, where we can also change the logo, etc.), since we go back to change the wallpaper by choosing it again among the images proposed by default, the color of the interface doesn't change anymore and stays the same (the color chosen just before, manually). Either there is a bug, between "user side color" and "interface color applied to all users", or I didn't understand well these new features.
Following the explanation of this problem, to a personal reflection, should we not have a custom color selector "for the user". I have the impression that there is an inconsistency of features in the color of the interface and those that are visibly related to the proposed default wallpapers.

Steps to reproduce

1rst problem :

  1. Change wallpaper by selecting one among the default wallpapers and go to another place (app) of Nextcloud, for exemple, "Files"
  2. See that the previously selected wallpaper remains
  3. Empty your browser cache
  4. Finally see the last selected wallpaper

2nd problem :

  1. Select a wallpaper among the default wallpapers ... then another, then another and note that de UI color changes each time with it
  2. Go to the appearance options and manually choose a color
  3. Go back to the background selection UI and select another wallpaper among the default wallpaper collection (then another, then another ...) and note that the color is still the one that you manually selected before. You will notice that this color remains, even after having cleared your browser cache.

Expected behavior

1rst problem :
The new wallpaper should continue to appear directly after setting it

2nd problem :
The default colors that are linked to the default wallpapers should come back if we set again one of the default wallpapers collection.

Installation method

Community Manual installation with Archive

Operating system

RHEL/CentOS

PHP engine version

PHP 8.0

Web server

Nginx

Database engine version

MySQL

Is this bug present after an update or on a fresh install?

Fresh Nextcloud Server install

Are you using the Nextcloud Server Encryption module?

Encryption is Disabled

What user-backends are you using?

  • Default user-backend (database)
  • LDAP/ Active Directory
  • SSO - SAML
  • Other

Configuration report

{
    "passwordsalt": "***REMOVED SENSITIVE VALUE***",
    "secret": "***REMOVED SENSITIVE VALUE***",
    "trusted_domains": [
        "nc25.test.mydomain.fr"
    ],
    "datadirectory": "***REMOVED SENSITIVE VALUE***",
    "dbtype": "mysql",
    "version": "25.0.0.15",
    "overwrite.cli.url": "https:\/\/nc25.test.mydomain.fr",
    "dbname": "***REMOVED SENSITIVE VALUE***",
    "dbhost": "***REMOVED SENSITIVE VALUE***",
    "dbport": "",
    "dbtableprefix": "oc_",
    "mysql.utf8mb4": true,
    "dbuser": "***REMOVED SENSITIVE VALUE***",
    "dbpassword": "***REMOVED SENSITIVE VALUE***",
    "installed": true,
    "instanceid": "***REMOVED SENSITIVE VALUE***",
    "log_type": "file",
    "logfile": "\/var\/log\/nextcloud\/nc25.test.mydomain.fr\/nextcloud.log",
    "redis": {
        "host": "***REMOVED SENSITIVE VALUE***",
        "password": "***REMOVED SENSITIVE VALUE***",
        "port": 6379,
        "dbindex": 8,
        "timeout": 0
    },
    "ldapProviderFactory": "OCA\\User_LDAP\\LDAPProviderFactory",
    "skeletondirectory": "",
    "logtimezone": "Europe\/Paris",
    "updater.release.channel": "stable",
    "mail_smtpmode": "smtp",
    "mail_smtpsecure": "ssl",
    "mail_from_address": "***REMOVED SENSITIVE VALUE***",
    "mail_domain": "***REMOVED SENSITIVE VALUE***",
    "mail_smtpname": "***REMOVED SENSITIVE VALUE***",
    "mail_smtppassword": "***REMOVED SENSITIVE VALUE***",
    "mail_smtphost": "***REMOVED SENSITIVE VALUE***",
    "mail_smtpauthtype": "PLAIN",
    "default_language": "fr",
    "default_phone_region": "FR",
    "defaultapp": "files",
    "trashbin_retention_obligation": "20,40",
    "versions_retention_obligation": "auto,40",
    "check_for_working_wellknown_setup": false,
    "quota_include_external_storage": false,
    "cron_log": true,
    "has_internet_connection": true,
    "updatechecker": true,
    "appstoreenabled": true,
    "filelocking.enabled": true,
    "session_keepalive": true,
    "knowledgebaseenabled": true,
    "allow_user_to_change_display_name": true,
    "enable_previews": true,
    "enable_avatars": true,
    "auth.bruteforce.protection.enabled": true,
    "loglevel": 1,
    "log_rotate_size": 104857600,
    "mail_smtpauth": 1,
    "mail_smtpport": 465,
    "session_lifetime": 86400,
    "remember_login_cookie_lifetime": 1296000,
    "preview_max_filesize_image": 50,
    "activity_expire_days": 120,
    "memcache.local": "\\OC\\Memcache\\APCu",
    "memcache.locking": "\\OC\\Memcache\\Redis",
    "memcache.distributed": "\\OC\\Memcache\\Redis",
    "theme": "",
    "maintenance": false,
    "app_install_overwrite": [
        "richdocuments",
        "onlyoffice",
        "deck",
        "spreed",
        "impersonate",
        "workspace",
        "groupfolders"
    ]
}

List of activated Apps

Enabled:
 - activity: 2.17.0
 - calendar: 3.5.0
 - circles: 25.0.0-alpha.0
 - cloud_federation_api: 1.8.0
 - comments: 1.15.0
 - contacts: 5.0.0
 - contactsinteraction: 1.6.0
 - dashboard: 7.5.0
 - dav: 1.24.0
 - federatedfilesharing: 1.15.0
 - federation: 1.15.0
 - files: 1.20.0
 - files_lock: 24.0.1
 - files_pdfviewer: 2.6.0
 - files_rightclick: 1.4.0
 - files_sharing: 1.17.0
 - files_trashbin: 1.15.0
 - files_versions: 1.18.0
 - firstrunwizard: 2.14.0
 - groupfolders: 9.1.1
 - impersonate: 1.11.0
 - integration_github: 1.0.9
 - integration_mattermost: 1.0.0
 - integration_openproject: 2.0.4
 - logreader: 2.10.0
 - lookup_server_connector: 1.13.0
 - mail: 2.0.0
 - maps: 0.2.1
 - nextcloud_announcements: 1.14.0
 - notifications: 2.13.1
 - oauth2: 1.13.0
 - password_policy: 1.15.0
 - photos: 1.7.1
 - privacy: 1.9.0
 - provisioning_api: 1.15.0
 - recognize: 3.0.1
 - recommendations: 1.4.0
 - related_resources: 1.0.0
 - richdocuments: 6.2.1
 - serverinfo: 1.15.0
 - settings: 1.7.0
 - sharebymail: 1.15.0
 - support: 1.8.0
 - survey_client: 1.13.0
 - systemtags: 1.15.0
 - text: 3.6.0
 - theming: 2.0.0
 - twofactor_backupcodes: 1.14.0
 - twofactor_reminder: 0.0.1
 - updatenotification: 1.15.0
 - user_ldap: 1.15.0
 - user_status: 1.5.0
 - viewer: 1.9.0
 - weather_status: 1.5.0
 - welcome: 1.0.2
 - workflowengine: 2.7.0
 - workspace: 1.2.1
Disabled:
 - admin_audit
 - bruteforcesettings
 - encryption
 - files_external
 - fileslibreofficeedit: 1.1.0
 - spreed
 - suspicious_login
 - twofactor_totp

Nextcloud Signing status

No errors have been found.

Nextcloud Logs

Can be provided if necessary

Additional info

No response

@Jerome-Herbinet Jerome-Herbinet added 0. Needs triage Pending check for reproducibility or if it fits our roadmap bug labels Oct 13, 2022
@Jerome-Herbinet Jerome-Herbinet changed the title [Bug]: Nextcloud 25 UI wallpaper problematic cache lifetime and manual color persistence [Bug]: Nextcloud 25 UI wallpaper problematic cache lifetime and instance vs wallpaper color conflict Oct 13, 2022
@Jerome-Herbinet Jerome-Herbinet changed the title [Bug]: Nextcloud 25 UI wallpaper problematic cache lifetime and instance vs wallpaper color conflict [Bug]: Nextcloud 25 UI wallpaper problematic cache lifetime and instance theming vs default wallpapers colors conflict Oct 13, 2022
@PVince81
Copy link
Member

before going further, first need to fix the caching issues because they cause a lot of side effects
these will be fixed with #34599

so after that one is merged (in 25.0.0 RC5 / final), you can retry your test steps and see if the problem persists

@Jerome-Herbinet
Copy link
Member Author

before going further, first need to fix the caching issues because they cause a lot of side effects these will be fixed with #34599

so after that one is merged (in 25.0.0 RC5 / final), you can retry your test steps and see if the problem persists

@PVince81 , I've made some tests with RC5 : The wallpaper cache issue is solved 👍.
Now, the color issue remains, following my initial description.

@Jerome-Herbinet
Copy link
Member Author

Jerome-Herbinet commented Oct 18, 2022

Hello @PVince81 and @szaimen, I have done some more testing of the backgrounds with NC25 RC5; I think there are technical (bugs) and ergonomic (wording) problems. Here are my tests with each of them, what I found and what I advise if necessary:

1. If I choose "Plain background", from what I understand, it is supposed to use the default color of the instance in addition to removing a background image if one was previously selected. I see that, as an administrator, if I choose another default color for the instance (theming), the users who have chosen "Plain background" will not benefit from it and the old default color of the instance will persist and be kept as "Custom color". In my opinion, if a user has chosen "Plain background", his plain background color should follow any default color changes specified by the instance administrator (in the instance theming options). Also, I think that the label "Plain background" is not appropriate, because on the one hand "Plain background" does not suggest that it is a default color of the instance that is supposed to be able to change without their knowledge and on the other hand "Custom color" is also a plain background option. So the wording "Custom color" is not very understandable either. There are two solutions: Either we have to name "Custom color" and "Plain background" differently (but it may not be easy to make it "short" and understandable), or we have to merge "Cutom color" and "Plain background" into one choice which would be called "Plain background" and inside (when we click on it), we would have access to "Default color" and "Custom colors".

2. If I choose "Custom color", from what I understand, it's supposed to be exactly the same as "Plain background" (see the inconsistencies of labels and UI/UX described in point 1): the custom color is applied and my possible previous background image disappears. The problem is that when I go into Nextcloud FIles, the icons in my folders (normal folders and group folders) still have the previous color (in my case, the "Plain background" one, i.e. the default color of the instance, in the "theming" options). I found a way around this problem which consists in clicking on "Reset to default" in the color selection field of the interface, or changing the default color of the instance with any other color and this allows the red color to be applied to the folders, but this is of course a big strange (and not clean) trick which will inevitably cause some rather annoying edge effects.

3. If I choose one of the default screen images (not "Default image"), the background image is applied and the default color associated with it also changes (because I understood, even though I didn't mention it in points number 1 and 2) that the color that can be used as a plain background normally also applies to folder icons and to some elements such as the radio boxes, like the ones used to choose the light or dark theme, just above). For example, for the image "Ribbed red metal", the interface color becomes red. The problem is that this color, as in points number 1 and 2, does not apply to folders (whether they are normal or group folders). As in point 2, there is a workaround (exactly the same): in "theming" click on "Reset to default" in the interface color selection field, or change the default color of the instance with any other color and this allows the color associated with the chosen background image to be applied to the folders, but this is of course still a big, strange (and not clean) trick that will inevitably cause quite annoying edge effects.

4. If I choose "Default image", the image with the clouds on a blue sky appears and the interface color changes to blue. The background changes well, but same problem for the interface color and same rotten trick to achieve it (theming). Another problem is the UX because what is "implicitly" telling me what the default background image is... Couldn't this be improved? I see two solutions: Either you put the cloud image in the background of the "Default image" button, or you put a little icon on the "cloud" image that indicates that it is the default background image, but I really recommend the first solution, because here is another suggestion for improvement: I think it would be very interesting (several clients have already asked us where I work), to be able to choose (upload) a default custom background image for the interface (of course unrelated to the login screen background image that already exists). So, after changing the background image in "theming", the image would also change behind the "Default image" label and everything would be consistent and easy to understand.

I hope this helps.

@Jerome-Herbinet Jerome-Herbinet changed the title [Bug]: Nextcloud 25 UI wallpaper problematic cache lifetime and instance theming vs default wallpapers colors conflict [Bug]: Nextcloud 25 UI wallpaper problematic cache lifetime [FIXED] and instance theming vs default wallpapers colors conflict [REMAINING BUGS] Oct 18, 2022
@PVince81
Copy link
Member

there are some outstanding things to fix in NC 25 related to theme, see checkboxes in #33925

however I'm not sure if they all address the mentioned issue

@jancborchardt any feedback on the issues above ?

@Jerome-Herbinet
Copy link
Member Author

there are some outstanding things to fix in NC 25 related to theme, see checkboxes in #33925

however I'm not sure if they all address the mentioned issue

@jancborchardt any feedback on the issues above ?

Hello @jancborchardt,
Some of the problems I described may be redundant with two described in #33925 ; that said, the interest of my explanation lies in the fact that each of the 4 use cases have been analyzed and that I also make some proposals for UI/UX improvements because apart from the bugs I point out, I think some things need to be revised in the interface to make things really understandable for the user.
I of course remain at your disposal ;-)

@szaimen
Copy link
Contributor

szaimen commented Oct 19, 2022

I think many things will already get fixed with #34511 and #34576

@Pilzinsel64
Copy link

Pilzinsel64 commented Oct 20, 2022

Just want to left my five cents, as I didn't exactly read that in all that comments...

If the admin set a global custom background image and a custom primary color (theming admin settings) and the user choose "Default Image" (user settings page) then the user will see the global custom background image, but the color is the default Nextcloud color instead of the custom primary color. Looks like the "Default Image" option has a prio for the custom global bg image, but no check for the custom global primary color and forces the blue Nextcloud color.

I've seen the bug in the first stable release. But not at my testing instance with RC2 - there the color for the user is the same as the custom global primary color - and that behavior is what I expect for "Default Image".
After updating NC24 or NC25-RC2 to NC25-stable-release then this bug exists. (I didn't test other RC versions, sorry.)

EIDT: The bug still exists in v25.0.1 RC1

@ichdasich
Copy link

So, just following up... in 25.0.0 i currently experience the issue that the background image is not displayed in chrome (Version 107.0.5304.88 (Official Build) (64-bit)); After a clear-cache-reload it displays normally.

So i am not too sure how much the caching issues have been fixed.

@Jerome-Herbinet
Copy link
Member Author

Jerome-Herbinet commented Nov 4, 2022

I think many things will already get fixed with #34511 and #34576

@szaimen On our fresh Nextcloud 25.0.1 testing instance, we always have the folders color problem.
The folders color never change to fit the user settings (it always keeps the default instance color which is managed by administrator). The workaround is still the same : If the administrator clicks on the rotating arrow in the theming color field, the color will finally fit the user's choice, but it's of course applied to all users (which is of course a problem).

Cc @PVince81

@szaimen
Copy link
Contributor

szaimen commented Nov 19, 2022

Folder colors will get fixed with 25.0.2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0. Needs triage Pending check for reproducibility or if it fits our roadmap 25-feedback bug
Projects
None yet
Development

No branches or pull requests

5 participants