fix(router): redirect profile details view to internal contacts list#5556
Open
silverkszlo wants to merge 1 commit into
Open
fix(router): redirect profile details view to internal contacts list#5556silverkszlo wants to merge 1 commit into
silverkszlo wants to merge 1 commit into
Conversation
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
Signed-off-by: silver <s.szmajduch@posteo.de> Assisted-by: ClaudeCode:claude-sonnet-5
ffa501a to
3bb2f91
Compare
| name: 'contact', | ||
| params: { | ||
| selectedGroup: GROUP_ALL_CONTACTS, | ||
| selectedContact: Buffer.from(`${to.params.userId}~z-server-generated--system`, 'utf8').toString('base64'), |
Member
There was a problem hiding this comment.
I see the logic to generate the contact key is the same from src/models/contact::key() method.
To avoid duplication, maybe we could extract the logic into a function and use it in both places? Maybe something like:
// src/models/contact.js
{...}
export function generateContactKey(uid, addressbookId) {
return Buffer.from(uid + '~' + addressbookId, 'utf8').toString('base64')
}
{...}
export default class Contact {
{...}
get key() {
return generateContactKey(this.uid, this.addressbook.id)
}
// src/router/index.js
{...}
import { generateContactKey } from '../models/contact.js'
{...}
export default createRouter({
{...}
{
path: 'u/:userId',
name: 'profile-redirect',
redirect: (to) => ({
name: 'contact',
params: {
selectedGroup: GROUP_ALL_CONTACTS,
selectedContact: generateContactKey(to.params.userId, 'z-server-generated--system'),
},
}),
},
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #5554
The bug
When inside the Contacts app one goes to > Teams > some team > some member > "View profile", the user does not get navigated to the clicked user's profile but to the general "All contacts" list and the following errors appear:

What seems to be the cause
:selectedGroup/:selectedContactwith no literal prefix, so it matches any two-segment path and treats/u/alicelike an internal path (but it's not)cloud.host.com/apps/contacts/All%20contacts/[someLongbase64String]The solution
u/:userIdand build the correct urlThat solution seems like a workaround though. Maybe
:selectedGroup/:selectedContactshould be less permissive or the NcAvatar needs an adjustment?🤖 AI (if applicable)