Re: Extension problem with lockscreen



So, I think I solved it.

Before I was connecting some signals and not disconnecting on disable,
so probably they got duplicated connections when it was reactivated
again. The strange part still is that, if this was totally true, I
should be able to reproduce it by disabling/enabling, but the issue
was never present in that.

Now I'm disconnecting everything on disable and connecting again on
enable. This fixed the lockscreen issue. I'll send a new version to
review soon.

Sorry for the noise.

On Fri, Jun 6, 2014 at 1:18 PM, Thiago Bellini Ribeiro
<hackedbellini gmail com> wrote:
Hi guys,

Since gnome-shell 3.10, my extension is behaving weirdly after a
screen lock and unlock. This is my extension:
https://extensions.gnome.org/extension/258/notifications-alert-on-user-menu/

What is happening:

Notifications alert will blink the unified menu while there's an
unread notification on the tray and stop when you read them. Without
locking the screen, it's behaving fine and there's no issue.

But since 3.10, if there's an unread notification while the screen is
being locked or another one becomes unread while it's locked, after
unlocking, the blink will go crazy. Sometimes it will start blinking
twice (like there were 2 timeouts added), sometimes it will not blink
until I read the unread notification, then it starts blinking.

If you take a look at the code, you will see that the extension is
pretty simple. It monkey patches
MessageTray.Source.prototype.countUpdated and
MessageTray.Source.prototype.destroy and when they are called, it
checks for _al_ extensions in the tray to see if there's at least one
unread. So, it doesn't rely on it's own notification cache or
something like that, and everything toggling one of those methods
should make the blink refresh (start or stop blinking).

I was crazy those days because I could not find the reason. Also, I
can't find where the log is those days. It used to be on
.xsession-errors, then on .cache/gdm/session.log, but now I don't know
where and I can't find it using find/grep. I'm on shell 3.12 on Debian
Jessie, anyone knows where it's now?

I became aware of the lockscreen issue because of a bug report a user
sent me. He said that starting from 3.10, when the lockscreen is
activated, it would deactivate all extensions and reactivate then on
unlock. I thought it could be a issue with activate()/deactivate(),
but I cannot reproduce the issue by simply disabling/enabling it,
while I can always reproduce with the lockscreen.

I tried checking gnome-shell's code but I lack the knowledge to really
find the issue.

Do you guys have any idea of what this might be? Is there anything I
can do on my extension to workaround this? Or is this a shell's issue?

Thanks in advance, and sorry for the very long text

--
Thiago Bellini Ribeiro
http://hackedbellini.org
PGP: D70FD60E

“Real knowledge is to know the extent of one's ignorance.” - Confucius



-- 
Thiago Bellini Ribeiro
http://hackedbellini.org
PGP: D70FD60E

“Real knowledge is to know the extent of one's ignorance.” - Confucius


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]