Create user service to persist settings across account
### Problem to solve ~Manage is trying to improve the user experience by presenting users with usability improvements such as frequently visited projects/groups, sorting preferences, etc. However these features usually use `localStorage`, which is only per-browser and per-device. We should persist these across the user account to be able to support a multi-browser and multi-device environment. ### Target audience - Parker, Product Manager, https://design.gitlab.com/research/personas#persona-parker - Delaney, Development Team Lead, https://design.gitlab.com/research/personas#persona-delaney - Sasha, Software Developer, https://design.gitlab.com/research/personas#persona-sasha - Devon, DevOps Engineer, https://design.gitlab.com/research/personas#persona-devon - Sidney, Systems Administrator, https://design.gitlab.com/research/personas#persona-sidney - Sam, Security Analyst, https://design.gitlab.com/research/personas#persona-sam ### Further details ### Proposal Ideally, we should try to implement a service that doesn't require such a strict schema. Of course, that could cause security implications by having to store arbitrary blobs of user preferences. Items to be persisted: List of recent projects List of recent groups (see https://gitlab.com/gitlab-org/gitlab/-/issues/339155#note_688232260) Realistically, we may want to just hsve certain schemas, then. Such as "frequent items" and "sorting preference". ### What does success look like, and how can we measure that? Persistent user preferences across devices and browsers, instead of on one browser. ### Links / references
issue