Repository navigation
feat(account): display existing email and phone details - #9483
Conversation
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota. Try requesting a review at a lower effort level.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.
There was a problem hiding this comment.
Thanks for the contribution, @chirag-gupta7!
What looks good
- The change reuses the existing Nextcloud account API and keeps Nextcloud as the source of truth.
- Loading, missing-value, and API-error states are handled appropriately, with relevant tests.
- The screenshot shows a readable layout that fits the existing Account page.
Requested change: make contact details manageable
Since this page shows the signed-in user's own email and phone number, please add a small, accessible, localized Edit contact information link to the existing Nextcloud personal settings page. This gives users a clear way to update their details without duplicating editing functionality or identity storage in LibreSign.
Scope
- Keep the current vertically stacked layout.
mailto:andtel:actions, as well as additional screenshots, are not required for this self-profile view.- User documentation can be handled in a separate follow-up PR.
Once this change is addressed and CI passes, please request a re-review. Thanks!
|
Thanks @vitormattos! I've added the localized Edit contact information link to Nextcloud's personal settings and included regression tests. The existing layout and read-only behavior remain unchanged. The checks are passing now, so this should be ready for another review. |
There was a problem hiding this comment.
Thanks for addressing the previous feedback.
Before requesting another review, please:
- Add before/after screenshots directly to the PR description, following the PR template. The existing screenshot appears only in a discussion comment. Please use the same viewport and synthetic test data where possible.
- Update the PR description to reflect what has been completed. It currently says screenshots will be attached.
The inline comment covers the missing translator context hints. Once these updates are in place and CI finishes, please request another review.
| <dd>{{ loadingAccount ? t('libresign', 'Loading …') : phoneNumber }}</dd> | ||
| </dl> | ||
| <p v-if="currentUser" class="user-contact-edit"> | ||
| <a :href="contactSettingsUrl">{{ t('libresign', 'Edit contact information') }}</a> |
There was a problem hiding this comment.
Could you add TRANSLATORS context hints for the new context-sensitive strings in this component?
- Line 26 —
Edit contact information: Clarify that this link opens the signed-in user's contact settings in Nextcloud, not an editor inside LibreSign. - Lines 86–87 —
Not provided: Explain that this is the fallback for an absent email address or phone number. - Line 17 —
Email and phone details could not be loaded.: Explain that this appears when loading account contact details fails.
Please place each hint immediately above its corresponding t() call, following the Vue/TypeScript syntax in the LibreSign translation guide. Generic Email and Phone labels do not need extra hints.
|
Hi @chirag-gupta7, I checked the failing Playwright run. It times out in This test was corrected in #9504, which was merged into Could you please rebase your PR branch onto the latest # From your fork's local clone:
git remote -v
# Only if the upstream remote does not exist:
git remote add upstream https://github.com/LibreSign/libresign.git
git fetch upstream main
git switch feat/9473-account-email-phone
git rebase upstream/main
git push --force-with-lease origin HEAD:feat/9473-account-email-phoneIf Git reports conflicts, resolve them, stage the affected files with This should incorporate the Playwright fix and trigger fresh CI checks. If GitHub requires workflow approval again, please let us know. The separate review requests about translator context hints and before/after screenshots still apply. |
Read account.emailAddress and settings.phoneNumber from the existing /api/v1/account/me OCS endpoint. Missing values fall back to a localized label, failures show a safe message, and no request is made without an authenticated user. Signed-off-by: chirag-gupta7 <chirag15470956@gmail.com>
Add a localized Edit contact information link to the signed-in user's Nextcloud personal settings. Keep it available while loading, for missing values and after a failed account request. Signed-off-by: chirag-gupta7 <chirag15470956@gmail.com>
Signed-off-by: chirag-gupta7 <chirag15470956@gmail.com>
7f800aa to
4519123
Compare
|
Hi @vitormattos! I've rebased the branch onto the latest The updated changes are pushed, but GitHub Actions is currently awaiting maintainer approval. Could you approve the workflows when you get a chance? Once CI is green, I'll request a re-review. Thanks! |
vitormattos
left a comment
There was a problem hiding this comment.
Thanks for the updates, @chirag-gupta7! The previous requests regarding the Nextcloud settings link, translator context, screenshots, and rebase have been addressed.
I found one small remaining improvement in Account.vue before final approval.
Could you add TRANSLATORS context hints immediately above both Loading … strings (lines 22 and 24)? Please explain that the ellipsis indicates an operation in progress and should be preserved.
Also, according to the Nextcloud translation guidelines, the Unicode ellipsis (…) should be preceded by a non-breaking space (U+00A0), rather than a regular space (U+0020). Please update both occurrences and their corresponding Vitest assertions.
The Email and Phone labels are already localized, and additional context hints for those labels are optional.
The existing link to Nextcloud's contact settings is acceptable for this PR. Any further navigation or editing UX improvements can be handled separately.
Once these small changes are pushed and Playwright passes, we can proceed with the final review. Thanks!
Signed-off-by: chirag-gupta7 <chirag15470956@gmail.com>
|
Hi @vitormattos! I've addressed the latest feedback by adding The changes are pushed, but GitHub Actions is awaiting maintainer approval again. Could you approve the workflows when convenient? Once CI passes, the PR should be ready for your final review. Thanks! |
|
Hi @chirag-gupta7, your first pull request to LibreSign has been merged. 🎉 Your work is part of LibreSign now, and everyone who signs a document with it benefits from the time and knowledge you shared. Thank you. You are very welcome to contribute again. The good first issue list is a good place to look next, and you no longer have to wonder how the process works. If you have a few minutes and feel like it, we would love to hear how this went for you: https://ls.librecode.coop/index.php/645932?lang=en&source=github-first-merged-pr&repository=libresign. It is entirely optional; nothing is expected of you in return for contributing. Come say hello in the LibreSign community: https://t.me/LibreSign |


Closes #9473
Summary
The authenticated LibreSign Account page displays the signed-in user's existing email address and phone number alongside their display name. Values come from the existing Nextcloud-backed OCS account API, so Nextcloud remains the source of truth and LibreSign stores no duplicate identity data.
This is a read-only frontend change: no new backend endpoint, no duplicated identity storage and no changes to certificate or privacy settings.
Changes
GET /apps/libresign/api/v1/account/meendpoint.Not providedfallback when either value is absent./settings/user/profile-contact), generated withgenerateUrl. The link remains available while loading, for missing values and after a failed request.mainso the merged test(e2e): prevent policy target selection from closing dialogs #9504 Playwright correction is included.How to test
Not providedis shown while the Edit link remains available.Validation evidence
npx vitest run src/tests/views/Account/Account.spec.ts(11 passed)npm run ts:check,npx stylelint src/views/Account/Account.vue,npm run lint:translator-hintsnpm run test:translator-hints(8 passed)npm run lintcannot run cleanly in the local Windows checkout because its CRLF working tree violates the repository's LF rule; every reported error is a line-ending error and none are in the changed files. Fresh CI is required for Playwright.UI / Front-end changes
The screenshots are component previews rendered from the real Account component at the PR base and current revision, using the same viewport, crop, theme and synthetic data (
Ada Lovelace,ada@example.com,+1234567890). The account API was mocked; they are not screenshots from a running Nextcloud instance.Tasks
mainto include the merged Playwright correction.Checklist
AI (if applicable)