Bug #12568

Fix browser bookmarks persistence vs Tor Browser 7.0a4

Added by anonym 2017-05-19 17:53:54 . Updated 2017-06-12 16:10:08 .

Status:
Resolved
Priority:
High
Assignee:
Category:
Persistence
Target version:
Start date:
2017-05-19
Due date:
% Done:

100%

Feature Branch:
bugfix/12568-fix-tor-browser-bookmarks-persistence
Type of work:
Code
Blueprint:

Starter:
Affected tool:
Browser
Deliverable for:

Description

From commit:9abc143e9b2aa3fed0e565523687ea4884ab28aa:

    Partially fix browser bookmarks persistence for Tor Browser 7.0a4.

    Apparently this new Firefox will get the realpath of the places.sqlite
    symlink, get its parent directory and create places.sqlite-{shm,wal}
    there -- if the creation of these two files fail, it's like if there
    are no bookmarks, and no new ones can be added (the "Add bookmarks"
    dialog won't even open). So we have to allow the creation of these
    files too.

    Unfortunately this is not enough. If the target file of the symlink
    doesn't exist it is interpreted as a corrupt database => the symlink
    is deleted and replaced with a fresh bookmarks database (inside the
    Tor Browser profile, not the persistent directory). So, if you already
    have persistent bookmarks from before it will work, but if enable it
    for the first time it won't work. This will be fixed later, and will
    be documented as a known issue in Tails 3.0~rc1.

Subtasks


History

#1 Updated by anonym 2017-05-19 17:55:29

  • Status changed from Confirmed to In Progress
  • % Done changed from 0 to 10
  • Feature Branch set to bugfix/12568-fix-tor-browser-bookmarks-persistence

This WIP is not working in its current state: the database we create is “corrupt” according to Firefox.

#2 Updated by intrigeri 2017-05-27 09:11:19

  • Priority changed from Elevated to High

That’s probably our worst regression in 3.0~ => bumping priority.

#3 Updated by anonym 2017-05-30 16:12:18

  • Assignee changed from anonym to intrigeri
  • % Done changed from 10 to 50
  • QA Check set to Ready for QA

Fixed! Note that the branch was force-pushed.

So we now ship our bookmarks in an sqlite dump instead of the old html approach. Sadly this makes managing our bookmarks quite a bit harder, but I don’t see any other reasonable way to solve this problem: that the bookmarks must be in a places.sqlite database on the ISO. At least we don’t seem to do this very often (last time was in 2014).

#4 Updated by intrigeri 2017-05-31 09:04:50

  • % Done changed from 50 to 60

Code review passes. Will now build & test since the affected scenario doesn’t run on Jenkins.

#5 Updated by intrigeri 2017-05-31 13:11:33

intrigeri wrote:
> Code review passes. Will now build & test since the affected scenario doesn’t run on Jenkins.

Bug #12461 doesn’t want me to delegate the testing part to robots, so I’ll do it by hand.

#6 Updated by intrigeri 2017-05-31 14:26:00

  • Status changed from In Progress to Fix committed
  • % Done changed from 60 to 100

Applied in changeset commit:638a8d174d610eaff1cc4d476719c027d4a62973.

#7 Updated by intrigeri 2017-05-31 14:27:19

  • Assignee deleted (intrigeri)
  • QA Check changed from Ready for QA to Pass

Tested by hand:

  • starting an ISO built from this topic branch, without persistence
  • upgrading 3.0~beta4 with persistent bookmarks with an ISO built from this topic branch
  • creating a persistent volume from an ISO built from this topic branch and adding persistent bookmarks

#8 Updated by intrigeri 2017-06-12 16:10:08

  • Status changed from Fix committed to Resolved