Description
"Remember last page visited" user preferences does not remember the last page unless "Show trail" is activated.
Steps to reproduce
- Login
Visit a UserPreferences
- Turn "Show trail" off, make sure "Remember last page visited" is on and save.
Visit FrontPage
You get back to UserPreferences instead of FrontPage
Details
This wiki
Workaround
Use only when "show trail" is on
Discussion
This is the same bug as ../TrailMissingPagesOrOutdated, we don't update the trail unless the the user want to show it, but we need the trail for the "remember las page" feature. Fixing the trail will automatically fix this bug.
This is a small bug, but should be fixed. The best fix would be to keep the trail always, ignoring the trail user setting, which wil fix both bugs. Keeping the trail cost us one read and one write of tiny trail file per request.
- And a higher possibility to crash because of the concurrency bug ...
- That bug related to saving the trail using multiple write calls, instead of preparing the text and using one write call. Even with the current code, the bug you mention does not happen in normal use, but only in special setup. In any case - this does not change anything for users that did not changed their "show trail", which is on by default.
Another option is to indent the remember option under the trail option, as it works only when the trail option is selected.
[ ] Show trail [ ] Remember last page visited
Using simple javascript we can even gray out the remember option when the trail is not selected.
- I do not think that the dependency of both options is intuitive in this case.
Here is an example of such interface, in this case tab options in Safari:
With better wording, its the best we can do :-).
- But a trail is not related to the last visited page directly, compared to the tabbed browsing options.
Fixed by saving the trail when remember_last_visit is selected. Actually this WAS already in user.addTrail, but somebody added a wrong check in Page.send_page that cause this check to be ignored.
Developers: the user object handle its trail, when visiting a page, call user.addTrail(pagename), it will add or ignore according to its private state.
Plan
- Priority:
- Assigned to:
- Status: fixed in patch-698