Appearance Tab Changes Not Saving – Page Reloads (& JSON Deserialization Error?)

Hi everyone! :wave:

I’m running into an issue with OpenRemote’s Appearance tab, and I wanted to check if anyone else has faced this before or if there’s a known fix. I’ve already looked into these related discussions:
:small_blue_diamond: Appearance Tab Not Reachable
:small_blue_diamond: Appearance Not Loading

However, my issue is slightly different, and I’m still stuck. I’ve spent a lot of time searching for a fix, both on the forum and GitHub, but I haven’t been able to find a solution. I’m still pretty new to OpenRemote, so this might be a simple issue that I just haven’t figured out yet.

Issue Description

Whenever I change any parameter in the Appearance tab (e.g., theme settings), the page reloads automatically after save, and all changes are lost. It seems like OpenRemote fails to save the new configuration.

Steps to Reproduce

  1. Follow Quick Start.
  2. Navigate to Manager UI → Appearance Tab.
  3. Modify any setting (e.g., theme color, branding).
  4. Click Save.
  5. The page reloads, but changes are not applied or saved.

Logs from the Manager Container

Before the page reloads, I see this error in the manager container logs (I can send full log if needed):

2025-02-16 18:04:31.827  ERROR   [WebService task-5             ] jboss.resteasy.plugins.providers.jackson : RESTEASY-JACKSON000100: Not able to deserialize data provided
com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot deserialize value of type `java.util.LinkedHashMap<java.lang.String,java.lang.Object>` from Array value (token `JsonToken.START_ARRAY`)
 at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 10] (through reference chain: org.openremote.model.manager.ManagerAppConfig["pages"])

What I Have Tried So Far

:white_check_mark: Checked the Configuration File (manager_config.json)

  • Inside the manager container, I ran:
cat /deployment/manager_config.json
  • But the file did not exist, so I manually created it:
touch /deployment/manager_config.json
  • Tried same thing with : /deployment/manager/app/manager_config.json and /deployment/manager/manager_config.json

:white_check_mark: Ensured Volume Mapping for Persistent Configurations

  • My docker-compose.yml file includes:
volumes:
  - ./config/manager_config.json:/deployment/manager_config.json
  • Restarted OpenRemote:
docker-compose down && docker-compose up -d
  • But the issue persists.

:white_check_mark: Verified That Other Settings Are Persisting

  • Changes in other sections (Users, Assets) save correctly, so this seems specific to Appearance settings.

Questions for the Community / Developers

  1. Has anyone else faced this issue in the Appearance tab?
  2. Is there a fix for the JSON deserialization error (MismatchedInputException)?

Any help would be greatly appreciated! Thanks in advance! :blush:

I’ve seen this before. IIRC the default settings were wrong and I could save the value by manually removing the pages key from the JSON.

1 Like

Thank you so much! :raised_hands: That was exactly the issue—I removed the pages key from the JSON, and now everything saves correctly. I really appreciate your help!!!

1 Like

Nice! :slight_smile:
I’ll check if I can reproduce it again and then I’ll create an issue for it.

1 Like

I created this issue for it:

3 Likes