Display corruptions since upgrading to v2.15 #5339
Replies: 1 comment
-
Posted at 2022-10-31 by @halemmerich Are you on 2v15 or on a cutting edge build? This seems to be the widgets being drawn and the inner watchface then drawing over them. So watchface probably draws the outer dial, then widgets are drawn and the inner dial is then refreshed, probably every minute or so. That could be a side effect of the fast loading of the clock after the launcher, but that would only occur on the cutting edge build. Posted at 2022-10-31 by rigrig
AnDark doesn't call Posted at 2022-10-31 by @halemmerich Thus the question about the cutting edge build. In combination with a launcher implementing setUI with remove handler that would currently be expected. Posted at 2022-11-01 by @gfwilliams Just to confirm @user141359 - this only happens when you go to the launcher and then back again from the launcher, without running an app from it?
Argh, that's frustrating. I don't know why I didn't fully appreciate that when I changed the default launcher. @halemmerich I guess we've got your changes to I'm also wondering whether maybe I should just implement the hideable widgets library (using overlays) and then include that in any clocks that don't explicitly load widgets? It wouldn't work for clocks that aren't in the app loader though Posted at 2022-11-01 by @gfwilliams @halemmerich I guess actually my change to the launcher would apply to all builds - it's just anyone that has launcher 0.15 or later Posted at 2022-11-01 by @halemmerich
Yes, that is probably correct since it evals directly.
The current state of my widgetupdate branch probably solves this independent of the build. It does however do some things that probably need some thought before implementing directly in firmware:
Checking for loadWidgets in the code seems expensive, but maybe we could mark apps in their info files as using widgets. Another idea would be defining a new style of widgets, where they are not arbitrary code somehow modifying
and then only fastload if no classic style widgets are loaded. That would feel less workaroundy. Posted at 2022-11-01 by @gfwilliams Ok, just fixed this if you update all apps from the app loader. @halemmerich it's an interesting idea about the widgets, but I think right now, changing the way widgets are defined and loaded is a bit too much of a wide-sweeping change - I'm pretty sure we'd create more bugs than we fixed :) I was just about to add a default-off option for fast-loading in the launcher, and I realised that now So, this should fix it with no impact in speed (apart from maybe <0.5s when changing the clock) Posted at 2022-11-01 by @halemmerich Nice low impact solution for this. There are edge cases like some clock storing the Bangle object in another variable and calling loadWidgets on that, but that probably never happens. I think a new style of widgets could be implemented without breaking backwards compatibility to the old widgets style. Only generic fastloading would not work with classic widgets present. The other way around (old firmware and new widgets) would be problematic since the widgets could not be correctly loaded then. I will probably toy around with the idea to see if it leads anywhere. Posted at 2022-11-01 by user141359
I am on the release build, not the cutting edge build. On the 7th of October I updated the watch to the release 2v15 build, and I also updated all installed apps to their latest release version. Before that I didn't have a problem (I think before that I was on 2.13, build but I can't remember for sure). There is a chance that the corruption is not actually caused by the 2V15 build but by an AnDark update. I suspect it's the watch OS but I can't fully rule out other factors since I updated them at the same time.
I actually don't know how it happens, I just look at the watchface randomly to read the time and about every second day I notice it is corrupted. At first I thought it was probably because I had enabled debug output during the update process because I had a bit of a problem connecting to the watch via Blueooth at first and I thought the debug output would give me an indication why I couldn't connect to the watch. Later I realize I could connect without problems if I disabled Gadgetbridge first. Then I forgot to turn off Debug output again. But a week ago I disabled debug output and rebooted and the display corruptions keept happening even with debug output set to Hide. That's when I realized I should probably make a bug report. Every time I enter settings and go back to the watch screen I believe that causes the watchface to redraw, and so I think that fixed it every time so far. I am sorry I can not give more details. I haven't tested with another watchface so far. I attached more photos. Those photos were made before I had switched off debug output, the photo in the original post was made after I had switched off debug output. Appreciate the extensive response to find the underlying fault! Attachments: Posted at 2022-11-01 by user141359 Ah yes, one more thing I forgot to mention: Rarely I have been seeing random white bars instead of Date and Charge. But I have been having this problem both before and after the updates on October 7th (both with And on August 2nd I had a a third, probably unrelated issue where the watch had completely crashed and kept displaying an old time from 2 hours ago without updating the watchface any more. The settings app would not load, and also the backlight would not turn on or the seconds hand show up on accelerometer movement. Example of white box instead of text issue: Attachments: Posted at 2022-11-01 by @halemmerich The first 4 of your pictures are most probably caused by the fast loading and widget handling and should be fixed by updating to the current versions on the development apploader https://espruino.github.io/BangleApps. Posted at 2022-11-02 by @gfwilliams I believe the issue with the boxes is because AnDark doesn't reset graphics state (background color) between draws - it's not expecting any widgets to be loaded so it doesn't expect any changes. Again, the recent changes should fix that if you update now (and make sure debug is disabled and you won't see the screen shifted up). As for the hang - that is a worry. Were you connected by Bluetooth to a phone/computer at the time? That seems to be about the only time we've noticed an issue (usually when Gadgetbridge is connected) but it seems quite rare. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Posted at 2022-10-31 by user141359
Ever since upgrading Bangle.js 2 to v2.15 I have a corrupted watch face about every other day.
Mostly the corruptions are on the top or bottom of the screen.
https://photos.app.goo.gl/rJGqY8sYtKTkqHkZA
Loading the settings and returning back to the watchface resolves the issue temporarily.
The watchface I am using is AnDark. I didn't have this issue with earlier versions.
Beta Was this translation helpful? Give feedback.
All reactions