ProtonMail / ProtonMail/WebClients

discussion: Add support for username-based localIDs

Open
#392 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
5.6k
Forks
715
PR merge metrics
No merged PRs in 30d

Description

We are happy to answer your questions about the code or discuss technical ideas.

Please complete the following checklist (by adding [x]):

  • I have searched open and closed issues for duplicates
  • This isn't a feature request
  • This is not a report about my app not working as expected

Hi there! I have a technical idea about the current URL navigation. This discusses the implementation side of a feature request I'll be posting shortly. :)

When navigating to any Proton service, the URL goes through a few authentication layers. It eventually ends up at the user's selected site, with a local user identifier (localID) at the end. For example, my Proton Mail currently specifies the following on my primary account: https://mail.proton.me/u/45/inbox

In the past, I was able to bookmark these for quick access to my e-mail, but for some reason, the IDs seem more volatile these days. They now use larger numbers instead of 0, 1, 2, and so on. While bookmarking via localID isn't entirely bad, the IDs change per browser/device and order you sign in, so it was never a great solution.

Instead, an easy implementation for a bookmark redirect would be to place the Proton username in the ID's place. For example, https://mail.proton.me/u/onkoe/inbox would be excellent! On the other hand, this would cause collisions with the new proton.me scheme, so a full email address may be appropriate.

In any case, I hope to hear your thoughts on this implementation. Thanks for your hard work on the project! 😄

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are identified. Start by reviewing the URL navigation and authentication flow described in the issue, along with its linked code search, then clarify whether username or full-email localIDs are desired. The issue does not define acceptance criteria for completion.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend, web-dev
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.