Automatic updater status update...

Board for discussions around the Epyrus mail and news client.

Moderator: athenian200

User avatar
athenian200
Contributing developer
Contributing developer
Posts: 1498
Joined: 2018-10-28, 19:56
Location: Georgia

Automatic updater status update...

Unread post by athenian200 » 2022-09-30, 22:54

It's not good news...

https://repo.palemoon.org/athenian200/epyrus/issues/15

The automatic updater was working locally with a localhost test server about 5 or 6 days ago. But now it simply won't work at all, whether I'm trying a remote server or a local one.

This is another reason why I released another alpha build. I am completely stumped and I feel like this is going to take me forever to figure out. It seemed like something that I should have been able to figure out in a couple of days with the directions I was given, but instead I've been spinning my wheels for a week unable to get my thoughts straight enough to remember where I am in the process and what could be going wrong.

Most of all, I just have no clue what this "error 19" is. All I can find are vague references to some kind of certificate error, but nothing I do lets me get past it. It was kind of working with app.update.url.override before, but now I cannot get it to work at all. And it's never worked with the standard app.update.url variable at all.

I feel like I just can't wrap my head around this kind of stuff. Why does it have to be so cryptic and arbitrary about things?

I'm not really clear why it was working, or why it doesn't now. I just don't understand. Well, at least now I know exactly what I'm stuck on and it's something I can work towards solving.
"The Athenians, however, represent the unity of these opposites; in them, mind or spirit has emerged from the Theban subjectivity without losing itself in the Spartan objectivity of ethical life. With the Athenians, the rights of the State and of the individual found as perfect a union as was possible at all at the level of the Greek spirit." -- Hegel's philosophy of Mind

User avatar
athenian200
Contributing developer
Contributing developer
Posts: 1498
Joined: 2018-10-28, 19:56
Location: Georgia

Re: Automatic updater status update...

Unread post by athenian200 » 2022-10-01, 00:28

The only thing I had changed in the past few days, was I had started building 32-bit builds because I left my .mozconfig setup for the release I did recently. I didn't think that should have affected anything, but then I started remembering something about MAR signing, and checked my confvars.sh... and I found that I forgot to clean this up:

https://repo.palemoon.org/athenian200/e ... ef4f2bba7e

So yeah, I kinda spent the past three days trying to figure out why updates wouldn't work, and it was most likely because I missed a line in confvars.sh that was explicitly turning MAR signing back on for 32-bit Windows builds...

I may actually be closer than I thought I was. As frustrating as this experience was, it's probably better that I caught this before releasing auto-update builds, because I could have easily missed that this was a problem on 32-bit Windows if I hadn't accidentally left my .mozconfig setup for something I don't normally test extensively.
"The Athenians, however, represent the unity of these opposites; in them, mind or spirit has emerged from the Theban subjectivity without losing itself in the Spartan objectivity of ethical life. With the Athenians, the rights of the State and of the individual found as perfect a union as was possible at all at the level of the Greek spirit." -- Hegel's philosophy of Mind

User avatar
athenian200
Contributing developer
Contributing developer
Posts: 1498
Joined: 2018-10-28, 19:56
Location: Georgia

Re: Automatic updater status update...

Unread post by athenian200 » 2022-10-05, 04:57

Well, now I do have good news.

Basic support for the automatic update functionality should now be ready. The last major hurdles were overcome, and basically looked like this:

Figuring out what the %BUILD_TARGET% strings look like so I can setup directories for them. This was solved by a pref called app.update.log that tells me what the updater is trying to do.

Deciding whether to implement an AppCompat GUID or find a way to pass MOZ_APP_VERSION_DISPLAY as a string to the updater (I actually figured out how to do both, but couldn't decide at first which I wanted).

Figuring out why changing app.update.url didn't work. It turns out that for whatever reason, the application ignores what you set the pref to if you're messing around in the Config Editor and always seems to use the value of app.update.url at compile time, whereas with the override version you can change it to different strings while the application is running. Since I was starting off with an empty string, and then changing it, that didn't work out. You have to set the pref before building to get it to work. That might have been some security consideration I hadn't thought much about, not sure.

But yes, it should be possible for me to serve up automatic updates after the next release.
"The Athenians, however, represent the unity of these opposites; in them, mind or spirit has emerged from the Theban subjectivity without losing itself in the Spartan objectivity of ethical life. With the Athenians, the rights of the State and of the individual found as perfect a union as was possible at all at the level of the Greek spirit." -- Hegel's philosophy of Mind

User avatar
Moonchild
Pale Moon guru
Pale Moon guru
Posts: 35474
Joined: 2011-08-28, 17:27
Location: Motala, SE
Contact:

Re: Automatic updater status update...

Unread post by Moonchild » 2022-10-05, 13:26

athenian200 wrote:
2022-10-05, 04:57
It turns out that for whatever reason, the application ignores what you set the pref to if you're messing around in the Config Editor and always seems to use the value of app.update.url at compile time, whereas with the override version you can change it to different strings while the application is running.
That is actually by design. I forget the exact reasoning behind it but it's Mozilla inherited behaviour that "app.update.url" always uses its default value no matter what you set it to, and you have to use app.update.url.override instead for testing purposes.
"Sometimes, the best way to get what you want is to be a good person." -- Louis Rossmann
"Seek wisdom, not knowledge. Knowledge is of the past; wisdom is of the future." -- Native American proverb
"Linux makes everything difficult." -- Lyceus Anubite

Locked