Open Bug 1254572 Opened 10 years ago Updated 6 years ago

Remember UI display settings (eg result types or tiers) between sessions

Categories

(Tree Management :: Treeherder: Frontend, defect, P3)

defect

Tracking

(Not tracked)

People

(Reporter: gerard-majax, Unassigned)

References

Details

It would be very useful to be able to keep a set of default user settings. For example, let us consider someone working on a tier 3 project. Each time he goes to treeherder to check a new try request, he has to click the "Tier 3" filtering. Being able to keep track of this would be very useful.
Probably the easiest thing to do here would be stash some of these things in localStorage. One complication here is that we want links to work for everybody: if I link to a push with a tier-3 job highlighted, the person opening it should see the tier-3 job. This probably implies auto-redirecting to a new URL when the user opens a treeherder link.
Component: Treeherder: Log Viewer → Treeherder
I got bored last night and kinda started on this in https://github.com/mozilla/treeherder/compare/master...KWierso:userprefs?expand=1 It saves the current tier selections into localstorage for each individual repository as they change, and when the page is first loading, looks at what's stored in localstorage for those tiers. It doesn't yet actually take those stored tiers and filter to them, but it mocks out how I would probably do that if I were to put any real work into this patch. I'm not going to have time to work on this for this quarter, but thought I'd post this for safekeeping until I (or someone else) can... Will, I'd be interested in hearing if this is how you would also go about doing this. :)
Flags: needinfo?(wlachance)
Looks promising! I might use an angular library like ngStorage to abstract away some of the details (it also seems to have some nifty features): http://ngmodules.org/modules/ngStorage As far as logic is concerned, I think the approach you have more or less makes sense: when initializing the controller, check to see if we've (1) overridden the default in prefs and (2) the tier is not *explicitly* enabled or disabled in the url. if both of these are true, use the user preference. Also, be careful that we only write to localStorage if the user explicitly changes the tier settings.
Flags: needinfo?(wlachance)
Summary: Allow user settings: default filtering, etc. → Remember UI display settings (eg result types or tiers) between sessions
Component: Treeherder → Treeherder: Frontend
Priority: -- → P3
You need to log in before you can comment on or make changes to this bug.