Ambience sound settings get lost/overwritten when switching between ambiences

REPRODUCIBILITY: 100%
OS VERSION: 4.4.0.68
HARDWARE: Both X10 III and XA2 Ultra
UI LANGUAGE: Polish, English
REGRESSION:

DESCRIPTION:

Switching between ambiences causes that rintone, SMS, email and alarm clock sound settings of the former ambience (be it configured sound files or the “No sound” option) replace/overwrite sound settings of the latter one. Only calendar and chat sound settings remain intact.

Movie 1: “No sound” option from the first ambience overwrites ringtone, SMS, email and alarm clock sounds of the second ambience.

Moviie 2: Sound files of the first ambience (in this case “Silent.mp3”) overwrite rintone, SMS, email and alarm clock of the second ambience.

Additionally, upon reboot, in active ambience, sound settings of ringing tone, SMS, alarm clock and email disappear, only chat and calendar sound settings are preserved.

As illustrated on these screenshots: Ambience sound settings get lost/overwritten when switching between ambiences - #21 by wetab73

This actually affects usability of the entire ambience system and makes it completely unreliable.

PRECONDITIONS:

None.

STEPS TO REPRODUCE:

  1. Have an ambiance with ringtone, SMS, email and/or alarm clock sounds set to e.g. the “No sound” option (as in this case it will be the most apparent)
  2. Have another ambience with ringtone, SMS, email and alarm clock sounds enabled (e.g. for day use).
  3. Switch to the ambience which has the tones disabled (set to “No sound”).
  4. Switch back to the ambience which used to have ringtone/SMS/email/clock sounds enabled.
  5. Notice that there are no audible notifications for ringtone, email, SMS and/or alarm clock because their sound settings got changed to “No sound”.
  6. It replaces/overwrittes the same way not just the “No sound” option but ANY sound file of the second theme with the sounds of the former one.

EXPECTED RESULT:

An ambience’s ringtone, SMS, email and alarm clock sound settings should be preserved and the corresponding notifications should be set and used when an ambience is switched.

ACTUAL RESULT:

When switching from one ambience to another, sound settings of the former ambience replace/permanently overwrite sound settings of the latter one. Only calendar and chat sounds remain unaffected.

MODIFICATIONS:

None.

ADDITIONAL INFORMATION:

This bug affects ringtone, SMS, email and alarm clock sound settings. Calendar and chat sounds are correctly preserved between ambiences.

4 Likes

Sadly, it turns out that using silent sound files doesn’t help. When I switching ambiences, once every couple of times, those silent ringtones replace (permanently) the sounds in the ambience I switch to (the very same way as described earlier with using the “No sound” option instead) resulting in no audible notifications for emails, SMS, etc.

In other words, ambience support is completely F****D UP. Switching between multiple ambiences is completely unreliable as it replaces sounds between ambiences. I already missed very important messages and emails because of that.

This is indeed a very annoying bug. I had to extra set a tone to get a tone back. Seems there aren’t a default value, because it keep the last overwritten value. Applying default values back change nothing.

EDIT: In the logs I catched following errors:

estart[13138]: [W] unknown:0 - QString DeclarativeMetadataReader::getTitle(const QUrl&) const "" does not exist!
estart[13138]: [W] unknown:56 - file:///usr/lib64/qt5/qml/com/jolla/gallery/ambience/ToneAction.qml:56:9: QML SoundDialog: <Unknown File>:10: Cannot assign to non-existent property "ambience"

I’ve recorded videos showing those bugs:

  1. First video showing how the “No sound” option from one ambience overwrites sound settings of another ambience:
  • first ambience (“Water”) is active with sound files configured for all kinds of notifications
  • I am switching to another ambience (“Bedside”) which has all notifications set to “No sound”
  • I am switching back to the “Water” ambience.
  • See how its notifications (which used to have sounds enabled) got changed to “No sound”. Only chat and calendar tones remained intact, all other notifications got overwritten with “No sound” setting. This is a permanent change.

.

  1. Second video showing how sound files (in this case an mp3 file called “Silent”) from one ambience overwrite sound settings of another ambience:
  • The first ambience (“Water”) is active with all notifications enabled (various sound files)
  • I am switching to the other ambience (“Bedside”) which uses an mp3 sound file called “Silent” for all notifications.
  • I am switching back to the first ambience (“Water”)
  • See how its sound settings for email, SMS, ringtone and clock (which used to have various sounds configured) got replaced by the “Silent” sound file from the “Bedside” theme. Again, only chat and calendar remained intact, everything else got replaced by settings of the first theme.

.

This bug occurs on every switch between ambiances and makes using more than one ambiance COMPLETELY IMPOSSIBLE.

It kina looks like the ones that remain are system sounds (Jolla Tone) while the overwritten ones are custom sound files.

Where are those located? ~/Music? SD card?

Incidentally I just published a couple of “sound themes” on Openrepos.
Can you maybe repeat the test with ambiences using tones from one of those?

If you go to Settings->Sounds and feedback you see all values changing each time you change the ambiance

Indeed! Funny how I didn’t notice it. I will repeat my tests with all sounds set to “built in” Jolla sounds then.

IIRC they were on SD card. I’ll copy them to ~/Music and repeat the tests. Maybe it’s another Sailjail-related issue with using files from a non-whitelisted path…

Great, I’ll test them, too.

OK, tests done…

In all three cases, i.e.

  1. using only Jolla built-in sounds
  2. using sound files from ~/Music instead of SD card
  3. using sound files from your Enchanted package

the result is exactly the same: ringtone, SMS, email and clock sounds get overwritten with settings from the previous ambience, only calendar and chat remain intact.

So it is not about Sailjail, permissions, etc. It must be simply a nasty bug in the code handling ambience change. In case of those four settings it keeps settings from the previous ambience and writes it to the second one.

Indeed, it seems that the bug must be in one of the files in /usr/lib64/qml/com/jolla/gallery/ambience/

BTW. I’ve just tested it on Jolla1 and I CAN’T reproduce this bug on Jolla1 / SFOS 3.4. So it must have appeared later.

Does that log message really pop up on ambience change?

Because if I read it correctly, that is from the ringtone selection dialog, which shouldn’t run on an ambience switch.

I’ve just checked journal and there’s absolutely nothing there related to ambience change or sounds.

So yeah, something changed around resetting things in Ambiences.

1 Like

I’ve tried to remove write permission from all the three sql files in ~/.local/share/system/privileged/Ambianced/ which kind of worked because it indeed prevented overwriting the sound settings, but at the same time some strange things were happening like showing ambiences that were deleted long ago, etc. So it’s not an option, either…

Gosh, I really need to be able to use (and quickly switch) two notification sets for day and night. There is no option to have only ringtone for calls and everything else muted (except for alarm clock of course), so this can be done only via ambiences.

After years of using BlackBerry 10 with its PHENOMENAL personalization support where literally everything was customizable (each notification type’s tone, loudness, led color, even vibration count), with full support for exceptions for each contact, and a great Bedside mode (not only custom notifications but also configurable powersaving options, e.g. possibility to disable mobile data, slow down CPU, turn off location, etc.) switching to SFOS’ extremely poor offer in this department was already a challenge, but now that it turns out that even that is actually completely broken it’s actually getting below my acceptance level… :slightly_frowning_face:

Welllll…

There still is com.nokia.profiled, a.k.a. profiled.service with settings and customization possibilities in ~/.profiled/*.

Maybe it’s possible to define a custom “silent-ring-only” profile there and switch to it using profileclient?

I seem to remember doing this either on the N9 or in the ancient SailfishOS past.

Also:

1 Like

Oh, thanks, I’ll investigate it today!

nemo@PGXperiiia10:~/.profiled $ devel-su pkcon install profileclient
nemo@PGXperiiia10:~/.profiled $ profileclient -l
ambience
general
meeting*
outdoors
silent

nemo@PGXperiiia10:~/.profiled $ cat > 60.sailfish_custom.ini
[night]

ringing.alert.type           = Ringing
ringing.alert.volume         = 40

vibrating.alert.enabled      = Off

keypad.sound.level           = 0
system.sound.level           = 0
touchscreen.sound.level      = 0

sms.alert.enabled            = Off
sms_fg.alert.enabled         = Off
im.alert.enabled             = Off
im_fg.alert.enabled          = Off
email.alert.enabled          = Off
voip.alert.enabled           = Off
calendar.alert.enabled       = Off

clock.alert.enabled          = On

^D

nemo@PGXperiiia10:~/.profiled $ devel-su mv 60.sailfish_custom.ini /etc/profiled/
nemo@PGXperiiia10:~/.profiled $ systemctl --user restart profiled
nemo@PGXperiiia10:~/.profiled $ profileclient -l
ambience
general
meeting*
night
outdoors
silent



nemo@PGXperiiia10:~/.profiled $ profileclient -V night
...

nemo@PGXperiiia10:~/.profiled $ profileclient -pnight
nemo@PGXperiiia10:~/.profiled $ profileclient -l
ambience
general
meeting
night*
outdoors
silent


2 Likes

Wow, that’s amazing! I didn’t even know about its existence! (C) 2008 Nokia Corporation, I love this :grinning:

When I select silent, the Silent quick toggle button automatically becomes active. Which gives me an idea of making a Night/Bedside quick toggle button for my custom profile and switching it with a single button tap from the top menu.

Thank you so much @nephros! This is definitely going to make me keep using SFOS :grinning:

1 Like

Done! Now I have a Night/Bedside Mode that I can switch on/off with a single quick toggle button press. I even created a custom icon for it :grinning: At the same time, I removed Ambiences from the top menu because they are completely unusable until Jolla fixes them…

Works like a charm! THANK YOU @nephros for all your invaluable help and information!

Now the last thing to do is to add an indicator shown in the status bar, reminding when my “Bedside” profile is active. It turns out that it is actually a piece of cake, a minor edit of /usr/share/jolla-lipstick-home-qt5/statusarea/ProfileStatusIndicator.qml will do the job. But it’s almost 4 am and I’m too sleepy now so it’ll have to wait until tomorrow :sleeping:

3 Likes

Back to the ambience bug, the story continues. It turns out that even without switching ambiences strange and erroneous things happen.

I’ve got all notification sounds configured, which can be seen on the Settings / Sounds page. I configured all those sounds in the “Water” ambience, using that ambience’s page in Settings / Ambiences.

Initially, all those “actions” were visible in that ambience’s settings, but then (without any modifications from my side, and without ever switching to any other ambience) most of the “actions” (i.e. notification sound settings) DISAPPEARED from that ambience’s settings page, and only two remained - chat and calendar - i.e. the same two which don’t get overwritten when switching ambiences.

In Settings / Sounds all notification types are still correctly visible (and they continue to work). They disappear from the ambience settings page only.

The following screenshots show how all notification sounds remain visible on the Settings / Sounds page, but on the “Water” ambience settings page (through which all those sounds were configured) most of them suddenly disappeared and only calendar and chat remained.


(sorry for screenshots in Polish, didn’t have time to switch the device to English)

@jolla (or should I call @flypig ?), please take a look at these bugs as they really make the whole ambience system completely unusable now.

Perhaps it is connected to profiled - after all that sets and changes tones as well.