Acknowledged

CIQ store app (iOS) falsely shows settings from *wrong app*, when two apps are installed with similar settings definitions

Connect IQ Store app version 2.30.1 (iOS)

I have a data field app that has 4 "clones" in the store. They're all basically identical except for their app UUID, app name, and certain default settings.

AppBuilder 5: https://apps.garmin.com/apps/fd690281-9c22-4fee-a81e-3b7f39aa67c5

AppBuilder 5 (B): https://apps.garmin.com/apps/706e91ae-7b84-4ac3-b0a7-dc2bcceb6fc2

AppBuilder 5 (C): https://apps.garmin.com/apps/f5259a68-1509-4ee9-9a05-46dc1d939f3f

AppBuilder 5 (D): https://apps.garmin.com/apps/394b4149-6d5a-4c2c-836d-dca71ea10b98

I had AppBuilder 5 installed on my 955, but none of the other clones were installed, and I had made extensive changes to the settings of AppBuilder 5. Subsequently, I installed AppBuilder 5 (B). When I opened AppBuilder 5 (B)'s settings in the CIQ app, it showed me settings values for AppBuilder 5, instead of 5 (B)'s defaults!

But when I added AppBuilder 5 (B) to an activity, it was clearly using its default settings values (one of the settings controls the data field label.)

Reproduction Procedure:

- If any of the AppBuilder 5 data fields are installed on your device, uninstall them

- Install AppBuilder 5 and open its settings in the CIQ store app (iOS)

- Note that the default value for "Profile 1 - Label" is "AppBuilder".  (The default values for the other apps are "AppBuilderB", "AppBuilderC", and "AppBuilderD")

- Change "Profile 1 - Label" to "Custom Label" and save settings

- Add AppBuilder 5 to an activity and note that the displayed label is "Custom Label"

- Install AppBuilder 5 (B). (Do not modify its settings or launch the app on the watch)

- Install an unrelated app, such as HM's DIY #1

- Open HM's DIY #1's settings. Exit without saving

- Open AppBuilder 5 (B)'s settings: note that the value for "Profile 1 - Label" is correctly displayed as "AppBuilderB". Exit settings without saving

- Open AppBuilder 5's settings. Exit without saving

- Open AppBuilder 5 (B)'s settings: note that the value for "Profile 1 - Label" incorrectly appears to be "Custom Label". Exit settings without saving

- Add AppBuilder 5 (B) to an activity and note that the displayed label is "AppBuilderB"

- Open AppBuilder 5's settings. Exit without saving

- Open AppBuilder 5 (B)'s settings. Note that the value for "Profile 1 - Label" is now correctly displayed as "AppBuilderB"

The same problem can be demonstrated with any of the 4 clones.

EDIT: as mentioned in a comment below, I think this is a potential security issue.

EDIT2: Simplified recreation procedure:

- install an app (B) with settings but do not modify settings or launch the app on the device. (App B's settings are uninitialized.)

- install a related clone app (A) with similar settings to B. Modify settings so that they're recognizable

- Install an unrelated app (C) with dissimilar settings to B

- Open C's settings, then open B's settings. B's settings will show B's default values as expected. (Do not save B's settings at this point)

- Open A's settings, then open B's settings: you will see A's settings instead of B's default values

Parents
  • I can confirm that this happens with the latest version of the Connect IQ store app (iOS): 2.30.2

    I can also provide additional insight into the recreation procedure.

    This bug happens when I first open the settings for the previously installed app ("AppBuilder 5"), then open the settings for the newly installed app ("AppBuilder 5 (B)") which is a clone of the first one. When I do this, I see the wrong settings. This only happens when the 2nd clone is still in the freshly installed state, meaning it has no settings of its own (in which case, the default settings would normally be shown).

    If I first open the settings for an unrelated app first (like HMs DIY #1), then open the settings for the newly installed app, then the default settings for the new app are shown (as expected.)

    Furthermore, if I save the settings for the newly installed app at any point (whether I use the "bad" settings from the other app as a base, or the correct default settings as a base), then this bug no longer occurs.

    TL;DR to see this bug:

    - it's necessary for the newly installed app to have no settings saved (easiest way to guarantee this is to uninstall and reinstall it)

    - it's necessary to first open the settings of an previously installed "clone" of the new app, then to subsequently open the settings of the newly installed app

Comment
  • I can confirm that this happens with the latest version of the Connect IQ store app (iOS): 2.30.2

    I can also provide additional insight into the recreation procedure.

    This bug happens when I first open the settings for the previously installed app ("AppBuilder 5"), then open the settings for the newly installed app ("AppBuilder 5 (B)") which is a clone of the first one. When I do this, I see the wrong settings. This only happens when the 2nd clone is still in the freshly installed state, meaning it has no settings of its own (in which case, the default settings would normally be shown).

    If I first open the settings for an unrelated app first (like HMs DIY #1), then open the settings for the newly installed app, then the default settings for the new app are shown (as expected.)

    Furthermore, if I save the settings for the newly installed app at any point (whether I use the "bad" settings from the other app as a base, or the correct default settings as a base), then this bug no longer occurs.

    TL;DR to see this bug:

    - it's necessary for the newly installed app to have no settings saved (easiest way to guarantee this is to uninstall and reinstall it)

    - it's necessary to first open the settings of an previously installed "clone" of the new app, then to subsequently open the settings of the newly installed app

Children
No Data