Opened 4 years ago

Closed 3 years ago

#13512 closed enhancement (fixed)

After update, load a static tab with change notes

Reported by: arma Owned by: mcs
Priority: Medium Milestone:
Component: Applications/Tor Browser Version:
Severity: Keywords: tbb-usability, GeorgKoppen201508R, TorBrowserTeam201509R
Cc: Sherief, mcs, brade, mrphs, gk, mikeperry, boklm Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

When you get a new noscript update, it loads a tab for you to tell you what changed. Now, in the noscript case, it's doing this to sell you ads so it can profit from you, which is kind of annoying. But the general concept of telling our users what changed would still be beneficial. Otherwise they have to (know to) find the info on the blog.

Good idea / bad idea?

Child Tickets

TicketTypeStatusOwnerSummary
#13889enhancementclosedmcsTor Browser software updater should link to announcement
#16768defectclosedtbb-teamIncorrect change log URL in Software Update window

Attachments (2)

0001-Bug-13512-update_responses-add-the-actions-and-openU.patch (1.3 KB) - added by boklm 3 years ago.
update_responses patch
0001-Bug-13512-update_responses-add-the-actions-and-openU-v2.patch (1010 bytes) - added by boklm 3 years ago.
update_responses patch v2

Download all attachments as: .zip

Change History (38)

comment:1 Changed 4 years ago by arma

(as suggested by a blog comment)

comment:2 Changed 4 years ago by mcs

Cc: Sherief mcs brade added
Status: newneeds_information

I think this is a good suggestion; this is the approach Mozilla uses. The browser already has a mechanism that will allow us to open a tab with release notes in it (but we are not using it and we may need to make some minor changes to it so it works well for us). If we do use it, it will replace the bland "Update Installed" window that is currently displayed after an update has been applied.

Do other people like this idea?

comment:3 Changed 4 years ago by Sherief

I think it sounds great.

comment:4 Changed 4 years ago by cypherpunks

Ditto, please do this.

comment:5 Changed 4 years ago by mcs

We need to do a little but more research, but it seems that if we use Mozilla's existing mechanism to open release notes in a new tab after an update, as a "side effect" the browser will restore the session (including any open tabs) when it restarts after applying an update. We probably want to disable this "one time session restore" behavior so as to not alarm or confuse people.

comment:6 Changed 4 years ago by mikeperry

Keywords: TorBrowserTeam201411 added

comment:7 Changed 4 years ago by mikeperry

Keywords: TorBrowserTeam201412 added; TorBrowserTeam201411 removed

comment:8 Changed 4 years ago by mikeperry

Keywords: TorBrowserTeam201501 added; TorBrowserTeam201412 removed

comment:9 Changed 4 years ago by mcs

Keywords: TorBrowserTeam201503 added; TorBrowserTeam201501 removed

Moving this out to March 2015 for now.

comment:10 Changed 4 years ago by mcs

Owner: changed from tbb-team to mcs
Status: needs_informationassigned

comment:11 Changed 3 years ago by mikeperry

Keywords: TorBrowserTeam201503 removed

comment:12 Changed 3 years ago by mcs

Keywords: tbb-usability added

comment:13 Changed 3 years ago by mrphs

Cc: mrphs added

comment:14 Changed 3 years ago by mcs

Cc: gk mikeperry boklm added
Keywords: TorBrowserTeam201508R added
Status: assignedneeds_review

It seems like the session restore problem that I mentioned in ticket:13512#comment:5 does not occur, at least in TB 5.5a1 (maybe Kathy and I had enabled history when we tried it). But there are a few things we need to fix to make this work well. A patch for TB 5.5 is available here:
https://gitweb.torproject.org/user/brade/tor-browser.git/commit/?h=bug13512_01&id=33315787e7f4a0855a3533dfd93224489a7a8b72
Please review. Note that if we merge this fix, we will need to commit to providing an URL for each release that contains useful info. about the changes (but we already do that on the blog today).

comment:15 Changed 3 years ago by gk

Keywords: GeorgKoppen201508R added

comment:16 Changed 3 years ago by gk

Status: needs_reviewassigned

This patch looks good to me. However, I'd like to test that before merging which means we need to fix the other parts first, especially patching update_responses accordingly which is why this ticket needs revision. Assigning this back to mcs for the time being as I am not sure who'll work on these parts.

Changed 3 years ago by boklm

update_responses patch

comment:17 Changed 3 years ago by boklm

Status: assignedneeds_review

I attached a patch to update_responses to add the actions and openURL attributes in the xml responses, if openURL is present in the config.yml file.

The config.yml will then need to be changed like this:

diff --git a/tools/update-responses/config.yml b/tools/update-responses/config.yml
index 4d2e7cb566b1..97d5765e3317 100644
--- a/tools/update-responses/config.yml
+++ b/tools/update-responses/config.yml
@@ -27,6 +27,7 @@ versions:
         platformVersion: 38.2.0
         detailsURL: https://www.torproject.org/projects/torbrowser.html.en
         download_url: https://www.torproject.org/dist/torbrowser/5.5a1
+        openURL: https://blog.torproject.org/blog/tor-browser-55a1-released
         incremental_from:
           - 5.0a4
         migrate_archs:

comment:18 in reply to:  17 ; Changed 3 years ago by mcs

Replying to boklm:

I attached a patch to update_responses to add the actions and openURL attributes in the xml responses, if openURL is present in the config.yml file.
...

Thanks! Your patch looks good.

In light of #16768, we probably want the detailsURL to usually be the same as the openURL. Do we want them to always be the same?

The detailsURL is displayed as a link in the window that is shown when an update is available. The link is labeled as "View more information about this update" and the contents should tell people what changes are in the update. Note that if app.update.auto is true, that window is not shown.

The openURL will open automatically in a new tab after an update has been applied (i.e., after the browser is restarted). This will happen regardless of the app.update.auto setting.

comment:19 in reply to:  18 Changed 3 years ago by gk

Replying to mcs:

Replying to boklm:

I attached a patch to update_responses to add the actions and openURL attributes in the xml responses, if openURL is present in the config.yml file.
...

Thanks! Your patch looks good.

In light of #16768, we probably want the detailsURL to usually be the same as the openURL. Do we want them to always be the same?

Sounds good to me. The blog + the included change notes are after all our details. So this makes sense to me.

Changed 3 years ago by boklm

update_responses patch v2

comment:20 Changed 3 years ago by boklm

If detailsURL and openURL are always going to be the same, then we probably want to define it only once in the config.yml file. I uploaded a new version of the patch which uses the detailsURL for both.

comment:21 Changed 3 years ago by gk

Okay. I tested a bit. If anybody could test the intended use-case (i.e. updating while not applying MAR files manually) that would be neat as I don't have such a setup handy at the moment.

I was a bit surprised to see nothing happen after applying the update manually actually. I thought it would at least try to load https://blog.torproject.org/category/tags/tor-browser in a new tab, no? Instead the normal about:tor page was loaded. The "Update was successfully installed" was missing, though, as expected.

comment:22 in reply to:  21 ; Changed 3 years ago by mcs

Replying to gk:

Okay. I tested a bit. If anybody could test the intended use-case (i.e. updating while not applying MAR files manually) that would be neat as I don't have such a setup handy at the moment.

Kathy and I have tested that case with the browser patches but not boklm's update_responses changes.

I was a bit surprised to see nothing happen after applying the update manually actually. I thought it would at least try to load https://blog.torproject.org/category/tags/tor-browser in a new tab, no? Instead the normal about:tor page was loaded. The "Update was successfully installed" was missing, though, as expected.

Hmm. I think the default page should have been opened. I am not sure how you tested things, but Kathy and I can do some more testing early next week.

comment:23 in reply to:  22 ; Changed 3 years ago by gk

Replying to mcs:

Replying to gk:

I was a bit surprised to see nothing happen after applying the update manually actually. I thought it would at least try to load https://blog.torproject.org/category/tags/tor-browser in a new tab, no? Instead the normal about:tor page was loaded. The "Update was successfully installed" was missing, though, as expected.

Hmm. I think the default page should have been opened. I am not sure how you tested things, but Kathy and I can do some more testing early next week.

Here is what I did:

1) I applied the patches to tor-browser-bundle.git and tor-browser.git (on new branches) and updated the config.yml
2) I tagged the new commit on tor-browser.git and pointed versions.alpha to it (and disabled the signature verification for alphas)
3) I tagged tbb-5.5a1-build4 with all of it
4) I rebuilt the browser part and rebundled
5) I generated the XML files for the updater and checked that boklm's patch did indeed include the additional attributes
6) I took a MAR file and signed it
7) I applied that MAR file manually to 5.0a4
8) I restarted and just got an about:tor page but no "You successfully updated Tor Browser" dialog

comment:24 in reply to:  23 ; Changed 3 years ago by mcs

Replying to gk:

Here is what I did:
...
5) I generated the XML files for the updater and checked that boklm's patch did indeed include the additional attributes
6) I took a MAR file and signed it
7) I applied that MAR file manually to 5.0a4
8) I restarted and just got an about:tor page but no "You successfully updated Tor Browser" dialog

Does your step 7 only run the updater manually (i.e., https://wiki.mozilla.org/Software_Update:Manually_Installing_a_MAR_file) or does an update.xml file (from step 5) get downloaded and placed inside updates.xml where the browser expects to find it? In other words, does your procedure update the update history? If not, the "showURL" action won't be found. See http://mxr.mozilla.org/mozilla-esr38/source/browser/components/nsBrowserContentHandler.js#148 (the getPostUpdateOverridePage() function).

comment:25 in reply to:  24 ; Changed 3 years ago by gk

Replying to mcs:

Replying to gk:

Here is what I did:
...
5) I generated the XML files for the updater and checked that boklm's patch did indeed include the additional attributes
6) I took a MAR file and signed it
7) I applied that MAR file manually to 5.0a4
8) I restarted and just got an about:tor page but no "You successfully updated Tor Browser" dialog

Does your step 7 only run the updater manually (i.e., https://wiki.mozilla.org/Software_Update:Manually_Installing_a_MAR_file) or does an update.xml file (from step 5) get downloaded and placed inside updates.xml where the browser expects to find it? In other words, does your procedure update the update history? If not, the "showURL" action won't be found. See http://mxr.mozilla.org/mozilla-esr38/source/browser/components/nsBrowserContentHandler.js#148 (the getPostUpdateOverridePage() function).

Yes, that seems to be the bit I missed. Interestingly this causes things like

2015-08-24 15:56:21: range_map-inl.h:91: INFO: StoreRange failed, an existing range contains or extends higher than the new range: new 0x7fb314487000+0x403a8, existing 0x7fb3142ca000+0x2241c8
2015-08-24 15:56:21: basic_code_modules.cc:70: ERROR: Module /home/firefox64/tor-browser_en-US/Browser/libnspr4.so could not be stored
2015-08-24 15:56:21: range_map-inl.h:91: INFO: StoreRange failed, an existing range contains or extends higher than the new range: new 0x7fb3144e3000+0x5094, existing 0x7fb3142ca000+0x2241c8
2015-08-24 15:56:21: basic_code_modules.cc:70: ERROR: Module /home/firefox64/tor-browser_en-US/Browser/libplc4.so could not be stored
2015-08-24 15:56:21: range_map-inl.h:91: INFO: StoreRange failed, an existing range contains or extends higher than the new range: new 0x7fb3144de000+0x40d8, existing 0x7fb3142ca000+0x2241c8
2015-08-24 15:56:21: basic_code_modules.cc:70: ERROR: Module /home/firefox64/tor-browser_en-US/Browser/libplds4.so could not be stored
2015-08-24 15:56:21: range_map-inl.h:91: INFO: StoreRange failed, an existing range contains or extends higher than the new range: new 0x7fb31445d000+0x295a0, existing 0x7fb3142ca000+0x2241c8
2015-08-24 15:56:21: basic_code_modules.cc:70: ERROR: Module /home/firefox64/tor-browser_en-US/Browser/libnssutil3.so could not be stored
2015-08-24 15:56:21: range_map-inl.h:91: INFO: StoreRange failed, an existing range contains or extends higher than the new range: new 0x7fb31436a000+0xf2354, existing 0x7fb3142ca000+0x2241c8
2015-08-24 15:56:21: basic_code_modules.cc:70: ERROR: Module /home/firefox64/tor-browser_en-US/Browser/libnss3.so could not be stored
2015-08-24 15:56:21: range_map-inl.h:91: INFO: StoreRange failed, an existing range contains or extends higher than the new range: new 0x7fb314346000+0x232e0, existing 0x7fb3142ca000+0x2241c8
2015-08-24 15:56:21: basic_code_modules.cc:70: ERROR: Module /home/firefox64/tor-browser_en-US/Browser/libsmime3.so could not be stored
2015-08-24 15:56:21: range_map-inl.h:91: INFO: StoreRange failed, an existing range contains or extends higher than the new range: new 0x7fb31430f000+0x36b42, existing 0x7fb3142ca000+0x2241c8
2015-08-24 15:56:21: basic_code_modules.cc:70: ERROR: Module /home/firefox64/tor-browser_en-US/Browser/libssl3.so could not be stored
2015-08-24 15:56:21: range_map-inl.h:91: INFO: StoreRange failed, an existing range contains or extends higher than the new range: new 0x7fb3144da000+0x3020, existing 0x7fb3142ca000+0x2241c8
2015-08-24 15:56:21: basic_code_modules.cc:70: ERROR: Module /home/firefox64/tor-browser_en-US/Browser/libmozalloc.so could not be stored
2015-08-24 15:56:21: range_map-inl.h:91: INFO: StoreRange failed, an existing range contains or extends higher than the new range: new 0x7fb3142f4000+0x16070, existing 0x7fb3142ca000+0x2241c8
2015-08-24 15:56:21: basic_code_modules.cc:70: ERROR: Module /home/firefox64/tor-browser_en-US/Browser/components/libdbusservice.so could not be stored
2015-08-24 15:56:21: stackwalker.cc:125: INFO: Couldn't load symbols for: /lib/x86_64-linux-gnu/libc.so.6|C64DC9301F6A51E980C3D68D2B89E5760
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x0
2015-08-24 15:56:21: stackwalker.cc:125: INFO: Couldn't load symbols for: /home/firefox64/tor-browser_en-US/Browser/libxul.so|C07A9E4BA3E5CBDDFFB87653E49AED970
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x4ffffffff
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7fb2fce19c80
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x1
2015-08-24 15:56:21: stackwalker.cc:125: INFO: Couldn't load symbols for: /lib/x86_64-linux-gnu/libglib-2.0.so.0|4E3AFBA0E12427494B93F3FCCE3409510
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x1
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x1e3a9b8e0
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7fb312e5dcc0
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0xffffffff7fffffff
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x0
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7fb312e5dcc0
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x1
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x0
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7fb2ff052390
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x0
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x1
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x0
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7fb2ff052390
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x0
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x8dcd6
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x144b1a41
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x244
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7fb305f0a3d0
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x8dcd6
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x873bb988f4
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7f0100000014
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x18
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7fb305f0a3d0
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x1
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7ffce8ddbfa8
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x1
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7ffce8ddc00f
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x1
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x80040154
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7ffce8ddc008
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7fb2ff052398
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7fb2e9f956a0
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7fb302238300
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x0
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x0
2015-08-24 15:56:21: stackwalker.cc:125: INFO: Couldn't load symbols for: /lib64/ld-linux-x86-64.so.2|1A58009FC7B33A3EEA35995A0C50D24D0
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7fb305f70340
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x1
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7fb305f0a300
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7fb312e80840
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7fb305f83460
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7ffce8ddc3d9
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7ffce8ddc138
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7fb2e9f409e0
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7fb305f83440
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x0
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x0
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x776f7262746c0074
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7fb2ff052390
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7fb305f0a3d0
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7ffce8ddc140
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x80004005
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7fb305ffd210
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7f0000000001
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7fb312e80840
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x0
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7fb305f0a3d0
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x3
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7fb2fcf1c6a0
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7ffce8ddc148
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7ffce8ddc270
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7ffce8ddc0d8
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7ffce8ddc130
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x100000009
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7ffce8ddc108
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7ffce8ddc118
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x3f
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7ffce8ddc108
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x6d006f0068002f
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x2f0065
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7fb2fcf1c6a0
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x0
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x2d0072006f0074
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7fb2f1bc0140
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7fb2f1be7440
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7fb305ffd1f0
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7fb305ffd1f0
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x0
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x0
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7ffce8ddc200
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7fb312e8f380
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7ffce8ddc198
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x1001100000024
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7ffce8ddc198
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x5
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x0
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7ffce8ddc208
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x0
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x0
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7fb312e563d8
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x5
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x90a68522ad28100
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7ffce8ddc208
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7ffce8ddc270
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x0
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x0
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x5
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7fb312e5d900
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7fb312e5d6c0
2015-08-24 15:56:21: basic_code_modules.cc:88: INFO: No module at 0x7fb312e5d9a8

to happen on restart. Not sure if that is expected.

comment:26 in reply to:  25 Changed 3 years ago by mcs

Replying to gk:

Yes, that seems to be the bit I missed. Interestingly this causes things like

2015-08-24 15:56:21: range_map-inl.h:91: INFO: StoreRange failed, an existing range contains or extends higher than the new range: new 0x7fb314487000+0x403a8, existing 0x7fb3142ca000+0x2241c8
2015-08-24 15:56:21: basic_code_modules.cc:70: ERROR: Module /home/firefox64/tor-browser_en-US/Browser/libnspr4.so could not be stored
...

to happen on restart. Not sure if that is expected.

It is not expected. The odd thing is that all of those log messages appear to be coming from the code under toolkit/crashreporter/google-breakpad... and I know we configure the browser build with --disable-crashreporter. Do you know if parts of that code are linked into Tor Browser (even when crash reporter is disabled)? If you don't know, Kathy and I will look into this.

comment:27 Changed 3 years ago by gk

I think so but I don't know what exactly OTOH.

comment:28 in reply to:  25 Changed 3 years ago by gk

Replying to gk:

Replying to mcs:

Replying to gk:

Here is what I did:
...
5) I generated the XML files for the updater and checked that boklm's patch did indeed include the additional attributes
6) I took a MAR file and signed it
7) I applied that MAR file manually to 5.0a4
8) I restarted and just got an about:tor page but no "You successfully updated Tor Browser" dialog

Does your step 7 only run the updater manually (i.e., https://wiki.mozilla.org/Software_Update:Manually_Installing_a_MAR_file) or does an update.xml file (from step 5) get downloaded and placed inside updates.xml where the browser expects to find it? In other words, does your procedure update the update history? If not, the "showURL" action won't be found. See http://mxr.mozilla.org/mozilla-esr38/source/browser/components/nsBrowserContentHandler.js#148 (the getPostUpdateOverridePage() function).

Yes, that seems to be the bit I missed. Interestingly this causes things like

[...]

to happen on restart. Not sure if that is expected.

This is not due to your patches it turns out. I just updated 4.5a5 to 5.5a1 and get the same stuff on my testing machine. Interesting, but probably a different ticket :)

comment:29 Changed 3 years ago by gk

Testing this locally did not work but thanks to boklm I got it tested remotely. Sadly, no page was showing up, dunno why. Here are the steps to reproduce:

1) Download Tor Browser 5.0a4 for Linux 64 bit (en-US)
2) Modify app.update.override.url to point to https://test-data.tbb.torproject.org/13512/alpha/Linux_x86_64-gcc3/x/en-US
3) Make sure you allow non-builtin certs
4) Go to http://test-data.tbb.torproject.org/13512/alpha/Linux_x86_64-gcc3/x/en-US and make sure you import the correct cert; you can check there that the XML file has all the new attributes
5) Click on the hamburger menu, question mark and "About Tor Browser" to get the update going
6) The update succeeds but on restart no new tab is opening

Note: I checked the updated code thereafter and nsBrowserContentHandler.js has all the Tor Browser bits of your patch, thus is got applied in the build.

comment:30 Changed 3 years ago by mcs

boklm and gk, thanks for all of your work to test this. It turns out that your test was better (cleaner) than the tests that Kathy and I did. Here is a revised patch:

https://gitweb.torproject.org/user/brade/tor-browser.git/commit/?h=bug13512_02&id=53b390da3498684ea70740d92754f87fe102e2af

The difference between this patch and the previous one is the addition of some code inside needHomepageOverride() (within nsBrowserContentHandler.js) to detect the situation where an upgrade just occurred from an older release of Tor Browser that does not have this new patch applied. In our testing we used a scenario equivalent to TB 5.5a2 to TB 5.5a3 (in other words, we were upgrading *from* a browser that already had this patch applied). Please review and test this one.

comment:31 Changed 3 years ago by gk

Okay, the test worked and the code looks good, thanks. One final thing I am wondering is whether we really should contact the blog or an external resource after an update. If that goes wrong (mybe there is an issue with the server, or whatever) the users are seeing a weird error message instead of the site we want to show them and instead of the familiar about:tor page (which is now a backgounrd tab). And we put additional load on the Tor network (an on the server hosting the blog) instead of using the changelog we ship with the browser. These concerns might be for a follow-up bug, though (while we are testing the things we have so far in the alpha cycle).

comment:32 in reply to:  31 Changed 3 years ago by mcs

Replying to gk:

One final thing I am wondering is whether we really should contact the blog or an external resource after an update. If that goes wrong (mybe there is an issue with the server, or whatever) the users are seeing a weird error message instead of the site we want to show them and instead of the familiar about:tor page (which is now a backgounrd tab). And we put additional load on the Tor network (an on the server hosting the blog) instead of using the changelog we ship with the browser. These concerns might be for a follow-up bug, though (while we are testing the things we have so far in the alpha cycle).

I am not sure how concerned we should be about the network load but if an error occurs while loading the page, that could be confusing. We could create a local page (about:update or similar) that just said "An update has been applied" which also included a link (or an iframe) that pointed to a remote page. We would need to figure out how to pass the remote link to the about:update page.

Alternatively, we could create a local page that displayed the top part of ChangeLog.txt. But doing that would take away a major benefit of loading a remote page: no ability to inform the user about issues and/or workarounds we learn after release.

Or we could combine both approaches. Any approach that reads ChangeLog.txt would require us to standardize the format of that file (e.g., a blank line separates the info for one versions from the next).

comment:33 Changed 3 years ago by mcs

For the record, I think that the proposed fix for this ticket will also fix the child tickets (#13889 and #16768).

comment:34 in reply to:  31 Changed 3 years ago by someone_else

Replying to gk:

Okay, the test worked and the code looks good, thanks. One final thing I am wondering is whether we really should contact the blog or an external resource after an update. If that goes wrong (mybe there is an issue with the server, or whatever) the users are seeing a weird error message instead of the site we want to show them and instead of the familiar about:tor page (which is now a backgounrd tab).

This is a very valid concern. The blog is usually at least half a day behind in publishing news about updates. (There seems to be some general problem with the infrastructure with site updates being slow to trickle down.)

comment:35 Changed 3 years ago by mikeperry

Keywords: TorBrowserTeam201509R added; TorBrowserTeam201508R removed

Transfer review tickets to Sept.

comment:36 Changed 3 years ago by gk

Resolution: fixed
Status: needs_reviewclosed

I've created #16940 for the remaining things: whether and how we should move to showing local change notes (only). Commit 8882fd2ca86bc843060556b8126de75046a35f8f in tor-browser-38.2.1esr-5.5-2 has the fix for this bug.

Note: See TracTickets for help on using tickets.