Skip to content

Profile screen for other users #195

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
gnprice opened this issue Jun 16, 2023 · 2 comments · Fixed by #287
Closed

Profile screen for other users #195

gnprice opened this issue Jun 16, 2023 · 2 comments · Fixed by #287
Assignees
Milestone

Comments

@gnprice
Copy link
Member

gnprice commented Jun 16, 2023

We should have a profile screen where you can see information about a given user.

A minimal first version of this should:

  • be reachable by tapping name or avatar of a message sender;
  • show the user's name, their avatar at large size, and a button to send them a DM (which navigates to the 1:1 DM conversation with them).

A first version can borrow more or less the design found in zulip-mobile. I don't love that design — it doesn't handle well the large number of different bits of information there — but I think it works fine when there's only a few pieces of information. In any case we'll be better able to redesign it when all the information is in place.

For any items mentioned below that we don't cover in the first version, we should file a follow-up issue or issues.


A full version should be reachable in the same ways as in zulip-mobile, and in particular:

  • tapping name or avatar of a message sender
  • tapping an @-mention
  • tapping their name or avatar in the app bar of a DM conversation

A full version should have roughly the same information as in zulip-mobile, in particular:

  • name
  • avatar, at larger size than in message list
  • email address, when accessible (but never the fake emails Zulip creates for the API)
  • presence
  • user status
  • role (admin, moderator, etc.)
  • local time zone
  • custom profile fields
  • plus a way to navigate to one's 1:1 DM conversation with the user
@gnprice gnprice added this to the Beta milestone Jun 16, 2023
@sirpengi
Copy link
Contributor

I've taken on this task. I've already encountered a few related issues:

  • It looks like there are already custom profile fields being loaded for the server when the store is initialized, but we are not yet tracking updates to custom fields (we do need this for sort order, and for field labels as the users' profile data only has ids). I'm adding this feature into this PR unless someone prefers I separate it out.
  • I'll need to add a library for local timezone, it doesn't look like we can go from something like "Europe/Madrid" to a now equivalent as the dart DateTime only supports local or UTC. I've identified https://pub.dev/packages/timezone as something that will work for this, but I'm don't have a good sense of how trustworthy/reliable the author of this package is.

For reference:

@gnprice
Copy link
Member Author

gnprice commented Aug 11, 2023

Thanks!

  • It looks like there are already custom profile fields being loaded for the server when the store is initialized, but we are not yet tracking updates to custom fields (we do need this for sort order, and for field labels as the users' profile data only has ids). I'm adding this feature into this PR unless someone prefers I separate it out.

Sounds good.

  • I'll need to add a library for local timezone, it doesn't look like we can go from something like "Europe/Madrid" to a now equivalent as the dart DateTime only supports local or UTC.

Sounds good. Yeah, the time-zone database seems like the sort of thing they'd leave out of the core Dart distribution and put in a package. Particularly because it has release-schedule needs that are different from those of a language implementation.

I've identified https://pub.dev/packages/timezone as something that will work for this, but I'm don't have a good sense of how trustworthy/reliable the author of this package is.

I recognize the maintainer's name as one of the members of the Dart team. So that should be solid, although it's a bit puzzling that the package isn't published by the team itself (like many other packages are).

sirpengi added a commit to sirpengi/zulip-flutter that referenced this issue Aug 25, 2023
Added profile screen with user information and custom profile
fields, linked from sender name and avatar in message list.

Support in initial_snapshot and models for the related
`RealmDefaultExternalAccounts` and `CustomUserProfileFields`
also added, as event handling for `custom_profile_fields`.

User presense (zulip#196) and user status (zulip#197) are not
yet displayed or tracked here.

Fixes: zulip#195
sirpengi added a commit to sirpengi/zulip-flutter that referenced this issue Aug 25, 2023
Added profile screen with user information and custom profile
fields, linked from sender name and avatar in message list.

Support in initial_snapshot and models for the related
`RealmDefaultExternalAccounts` and `CustomUserProfileFields`
also added, as event handling for `custom_profile_fields`.

User presence (zulip#196) and user status (zulip#197) are not
yet displayed or tracked here.

Fixes: zulip#195
sirpengi added a commit to sirpengi/zulip-flutter that referenced this issue Aug 28, 2023
Added profile screen with user information and custom profile
fields, linked from sender name and avatar in message list.

User presence (zulip#196) and user status (zulip#197) are not
yet displayed or tracked here.

Fixes: zulip#195
sirpengi added a commit to sirpengi/zulip-flutter that referenced this issue Aug 29, 2023
Added profile screen with user information and custom profile
fields, linked from sender name and avatar in message list.

User presence (zulip#196) and user status (zulip#197) are not
yet displayed or tracked here.

Fixes: zulip#195
sirpengi added a commit to sirpengi/zulip-flutter that referenced this issue Aug 29, 2023
Added profile screen with user information and custom profile
fields, linked from sender name and avatar in message list.

User presence (zulip#196) and user status (zulip#197) are not
yet displayed or tracked here.

Fixes: zulip#195
sirpengi added a commit to sirpengi/zulip-flutter that referenced this issue Sep 1, 2023
Added profile screen with user information and custom profile
fields, linked from sender name and avatar in message list.

User presence (zulip#196) and user status (zulip#197) are not
yet displayed or tracked here.

Fixes: zulip#195
sirpengi added a commit to sirpengi/zulip-flutter that referenced this issue Sep 4, 2023
Added profile screen with user information and custom profile
fields, linked from sender name and avatar in message list.

User presence (zulip#196) and user status (zulip#197) are not
yet displayed or tracked here.

Fixes: zulip#195
sirpengi added a commit to sirpengi/zulip-flutter that referenced this issue Sep 5, 2023
Added profile screen with user information and custom profile
fields, linked from sender name and avatar in message list.

User presence (zulip#196) and user status (zulip#197) are not
yet displayed or tracked here.

Fixes: zulip#195
sirpengi added a commit to sirpengi/zulip-flutter that referenced this issue Sep 5, 2023
Added profile screen with user information and custom profile
fields, linked from sender name and avatar in message list.

User presence (zulip#196) and user status (zulip#197) are not
yet displayed or tracked here.

Fixes: zulip#195
sirpengi added a commit to sirpengi/zulip-flutter that referenced this issue Sep 5, 2023
Added profile screen with user information and custom profile
fields, linked from sender name and avatar in message list.

User presence (zulip#196) and user status (zulip#197) are not
yet displayed or tracked here.

Fixes: zulip#195
sirpengi added a commit to sirpengi/zulip-flutter that referenced this issue Sep 6, 2023
Added profile screen with user information and custom profile
fields, linked from sender name and avatar in message list.

User presence (zulip#196) and user status (zulip#197) are not
yet displayed or tracked here.

Fixes: zulip#195
sirpengi added a commit to sirpengi/zulip-flutter that referenced this issue Sep 7, 2023
Added profile screen with user information and custom profile
fields, linked from sender name and avatar in message list.

User presence (zulip#196) and user status (zulip#197) are not
yet displayed or tracked here.

Fixes: zulip#195
@gnprice gnprice closed this as completed in c3df03e Sep 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants