Can we have Vaadin app settings dynamic? like the favicon changed in runtime?

I have my app serving different subdomains, I wish I can be able to change the App Logo, name, favicon for each subdomain access.

Simplest solution: store the favicon in the reverse proxy in front of your app and add the application name to a property file and read it from there

I am not sure if I understood, the app is one instance, and runs to serve all wild card subdomain *.domain.com , and the app recieve requests from different subs, so for each subdomain, I would have different app name, and favicon, even when prompted to install a specific PWA for a subdomain, the app would have unique avatar.

No idea about PWAs - those were not mentioned above :wink: with PWA it’s impossible because those are not changeable at runtime.

well I did manage to have the PWA installed differenty for each subdomain, as each app points to its designated subdomain, so user can install the app in his cell for two different subdomains, still the name of the app, and logo, are the same which would be confusing unless he opens each.

Does the addFavIcon work to dynamiclly change the favIcon in the AppShellSettings interface?

https://vaadin.com/api/platform/24.4.0.alpha1/com/vaadin/flow/server/AppShellSettings.html#addFavIcon(java.lang.String,java.lang.String,java.lang.String)

nope it won’t

IIRC it might work since appshellsettings are computed every time a UI instance is created

For the name of the app, if I understand correctly, you need to change the manifest. For this case you may create a custom servlet filter and post process the original manifest

You are right, it should work… I misinterpreted AppShell with the PWA annotation :sweat_smile: there it should not have any effects because of the static as strings in there

@thankful-cat technicality , so called multi-tenant approach is possible, as you can setup session listener. you can use javascript to handle the requests. If your app has couple of views , it can work.

but since you mentioned you are using sub-domains , witch means you have a reverse proxy (apache, haproxy etc) this is very bad approach. you will find it better to run a servlet for each sub-domains. better performance, better security, better almost any aspect