Problem when defining two tabs under Space Settings

Hi All,

I faced a problem that may be a bug in how Forge handles tabs added under Space Settings in Confluence Cloud. I tried to define 2 tabs under confluence:spaceSettings in my manifest.yml:

modules:
  confluence:spaceSettings:
    - key: my-first-module-key
      resource: custom-ui-resource
      resolver:
        function: my-first-resolver
      title: Title 1
    - key: my-second-module-key
      resource: custom-ui-resource
      resolver:
        function: my-second-resolver
      title: Title 2
  function:
    - key: my-first-resolver
      handler: my-first-resolver.handler
    - key: my-second-resolver
      handler: my-second-resolver.handler

I see both of my menu items in the Integrations box under Space Settings (see first screenshot below). But when I click any of them, the tab container that opens up displays both tabs as selected and I’m not able to switch between them, I can only see the tab panel of the first tab (second screenshot). Chrome DevTools shows that the DOM ids of the tab selector elements are the same for both tabs (third screenshot). It works well with 1 tab but not with 2.

Either the two tabs should work as one would expect or I should not be able to add 2 tabs under confluence:spaceSettings at all (I’d expect the validation of my manifest.yml to fail). This looks like a bug. Has anyone else encountered the same problem?

Thanks,
Gabor

Hello @atlassianadmin, has this been resolved in the meanwhile?

Another problem I noticed is that I’m able to install two apps that define Space Settings modules with the same name. These show up identically with no distinction whatsoever. Will this change later?

In concept, this problem is similar to a problem with Global Settings: Multiple Forge modules under Global Settings

Let me clarify our problem and how we think it should be resolved by giving you an example.

Suppose there are 2 apps installed on a Confluence Cloud instance: App 1 and App 2. Suppose that under Space Settings, App 1 defines two modules titled “Space Module A” and “Space Module B”, while App 2 defines “Space Module A” and “Space Module C”.

What we see now under Space Settings:

  1. There is one common box for all modules of all apps titled "Integrations". It contains links to all app modules in one big block one after another, sorted by the module titles of all apps, potentially mixing modules of different apps. This is very confusing and can also cause both the box and the tab container to grow quite large when installing more apps:

INTEGRATIONS
Application Links
RSS feeds
Slack Notifications
Space Module A (can’t tell that it belongs to App 1)
Space Module A (can’t tell that it belongs to App 2)
Space Module B (belongs to App 1)
Space Module C (belongs to App 2)

  1. Modules are sorted alphabetically and there is no way to change their order. If for example the vendor of App 1 would like to have the modules listed in the order “Space Module B”, “Space Module A”, there is no way to do it.

  2. The bug with the module tabs described above is still present.

What we would like to see:

  1. There should be a box for each app that defines at least one Space Settings module (that is, instead of the modules of both App 1 and App 2 appearing in the "Integrations" box, there should be another box for App 1 and a third one for App 2). This would resolve 2 problems:

a. There would be no confusion caused by identical module titles of different apps (if both apps define “Statistics” for example, it would be confusing in the same box but not in separate ones)
b. The tab container would not grow too large if it only contained tabs for one app at a time

  1. The need to be able to define the order of modules and their tabs is a natural one. Currently there is no way to define an order. There should be a field for it in manifest.yml or they should appear in the order they are defined in manifest.yml.

  2. This bug is critical to fix if an app is allowed to define more than one Space Settings module.

Hi @GaborDicsoMidori, thanks for your input.

I see a similar request in another thread. Make sure to include all your suggestions in the feature request ticket, so we can gather impact and interest, and prioritize it accordantly.

Regarding a bug: It was fixed. Now you can define a route param (in a similar way as for other modules) to differentiate different modules in the same app. See module description. Hope this helps. And sorry for the late notice (We should have mentioned this earlier).

Oleksandr

1 Like

Hi @OleksandrBeztsinnyi,

Thank you for your response. I created a ticket 2 days ago related to this topic: [CONFCLOUD-74192] Defining two tabs under Space Settings: conflict with other apps, no custom ordering - Create and track feature requests for Atlassian products.

Please note that I created two distinct topics recently that are similar but not the same. One is for Global Settings, the other (this one) is for Space Settings. I also created tickets for both.

Regarding the bugfix: thank you for the information, I’ll take a look at it soon.