You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[C+ Checklist Needs Completion] [$250] IOS - Avatar doesn't get back to its original center position after zooming in and out #53471
Version Number: 9.0.70-2 Reproducible in staging?: Y Reproducible in production?: Y If this was caught on HybridApp, is this reproducible on New Expensify Standalone?: Y If this was caught during regression testing, add the test name, ID and link from TestRail:https://expensify.testrail.io/index.php?/tests/view/5291133 Email or phone of affected tester (no customers):nathanmulugetatesting+2272@gmail.com Issue reported by: Applause - Internal Team
Action Performed:
Open hybrid app
Upload a custom avatar for your profile
Open your self DM
Open the avatar to show in full screen
Pinch out to zoom and without releasing our finger pinch in to zoom out and position your fingers to the corner while zooming out and release your fingers
Expected Result:
The position of the avatar gets back to its original center position
Actual Result:
The avatar stays at the position it was released on and doesn't get back to the center
Workaround:
Unknown
Platforms:
Which of our officially supported platforms is this issue occurring on?
Android: Standalone
Android: HybridApp
Android: mWeb Chrome
iOS: Standalone
iOS: HybridApp
iOS: mWeb Safari
MacOS: Chrome / Safari
MacOS: Desktop
Screenshots/Videos
Add any screenshot/video evidenceBug6683084_1733231204767.ScreenRecording_12-03-2024_15-58-36_1.1.mp4
changed the title [-]IOS - Avatar doesn't get back to its original center position after zooming in and out[/-][+][$250] IOS - Avatar doesn't get back to its original center position after zooming in and out[/+]on Dec 3, 2024
changed the title [-][$250] IOS - Avatar doesn't get back to its original center position after zooming in and out[/-][+][$125] IOS - Avatar doesn't get back to its original center position after zooming in and out[/+]on Dec 3, 2024
Hi! I came across your job posting on Upwork regarding the avatar centering issue in your iOS app. After analyzing the problem where the avatar doesn't return to center after zoom gestures, I believe this can be fixed effectively through iterative solutions. I am a full time full stack iOS developer, designer and game developer at MagicHabits. This can be fixed in max 1-2 days.
Based on my experience with iOS gesture handling and UI animations, I've identified 5 potential approaches that could solve this:
swiftCopylet centerForce = 1 - currentScale
let newCenter = interpolate(current: position,
target: center,
force: centerForce)
Physics-Based Boundaries
swiftCopylet behavior = UIAttachmentBehavior(item: avatarImageView)
animator.addBehavior(behavior)
Most natural but complex implementation
Recommended Approach:
I suggest implementing Solution #1 (Spring Animation Reset) first, then enhancing it with elements of Solution #4 (Progressive Center Force). This combination would:
Provide immediate improvement in UX
Feel natural and iOS-native
Be quick to implement and test
Allow for easy tuning of behavior
Let me know if you like it so I can submit a proposal on upwork!
📣 @ahmedkhan28! 📣
Hey, it seems we don’t have your contributor details yet! You'll only have to do this once, and this is how we'll hire you on Upwork.
Please follow these steps:
Get the email address used to login to your Expensify account. If you don't already have an Expensify account, create one here. If you have multiple accounts (e.g. one for testing), please use your main account email.
Get the link to your Upwork profile. It's necessary because we only pay via Upwork. You can access it by logging in, and then clicking on your name. It'll look like this. If you don't already have an account, sign up for one here.
Copy the format below and paste it in a comment on this issue. Replace the placeholder text with your actual details.
Format:
Contributor details
Your Expensify account email: <REPLACE EMAIL HERE>
Upwork Profile Link: <REPLACE LINK HERE>
changed the title [-][$250] IOS - Avatar doesn't get back to its original center position after zooming in and out[/-][+][HOLD for Payment 2025-02-24] [$250] IOS - Avatar doesn't get back to its original center position after zooming in and out[/+]on Feb 20, 2025
changed the title [-][HOLD for Payment 2025-02-24] [$250] IOS - Avatar doesn't get back to its original center position after zooming in and out[/-][+][HOLD for payment 2025-02-24] [$250] IOS - Avatar doesn't get back to its original center position after zooming in and out[/+]on Feb 20, 2025
changed the title [-][HOLD for payment 2025-02-24] [$250] IOS - Avatar doesn't get back to its original center position after zooming in and out[/-][+][C+ Checklist Needs Completion] [$250] IOS - Avatar doesn't get back to its original center position after zooming in and out[/+]on Feb 24, 2025
[Contributor] If the regression was CRITICAL (e.g. interrupts a core flow) A discussion in #expensify-open-source has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner.
Link to discussion: N/A
[Contributor] If it was decided to create a regression test for the bug, please propose the regression test steps using the template below to ensure the same bug will not reach production again. Yes
Regression Test Proposal
Test:
Prerequisite: have a custom profile avatar
Open a chat where you can see your own avatar (e.g., self dm, workspace chat)
Activity
melvin-bot commentedon Dec 3, 2024
Triggered auto assignment to @greg-schroeder (
Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details. Please add this bug to a GH project, as outlined in the SO.[-]IOS - Avatar doesn't get back to its original center position after zooming in and out[/-][+][$250] IOS - Avatar doesn't get back to its original center position after zooming in and out[/+]melvin-bot commentedon Dec 3, 2024
Job added to Upwork: https://www.upwork.com/jobs/~021863989062279850488
melvin-bot commentedon Dec 3, 2024
Triggered auto assignment to Contributor-plus team member for initial proposal review - @abdulrahuman5196 (
External)[-][$250] IOS - Avatar doesn't get back to its original center position after zooming in and out[/-][+][$125] IOS - Avatar doesn't get back to its original center position after zooming in and out[/+]melvin-bot commentedon Dec 3, 2024
Upwork job price has been updated to $125
ahmedkhan28 commentedon Dec 4, 2024
Hi! I came across your job posting on Upwork regarding the avatar centering issue in your iOS app. After analyzing the problem where the avatar doesn't return to center after zoom gestures, I believe this can be fixed effectively through iterative solutions. I am a full time full stack iOS developer, designer and game developer at MagicHabits. This can be fixed in max 1-2 days.
Based on my experience with iOS gesture handling and UI animations, I've identified 5 potential approaches that could solve this:
Spring Animation Reset
swiftCopyUIView.animate(withSpringDamping: 0.8) {
avatarImageView.center = view.center
}
Velocity-Based Repositioning
swiftCopylet velocity = gesture.velocity(in: view)
let newCenter = calculatePosition(from: velocity)
animateToPosition(newCenter)
Smart Edge Detection
swiftCopyif !safeBounds.contains(avatar.frame) {
returnToCenter(animated: true)
}
Progressive Center Force
swiftCopylet centerForce = 1 - currentScale
let newCenter = interpolate(current: position,
target: center,
force: centerForce)
Physics-Based Boundaries
swiftCopylet behavior = UIAttachmentBehavior(item: avatarImageView)
animator.addBehavior(behavior)
Most natural but complex implementation
Recommended Approach:
I suggest implementing Solution #1 (Spring Animation Reset) first, then enhancing it with elements of Solution #4 (Progressive Center Force). This combination would:
Provide immediate improvement in UX
Feel natural and iOS-native
Be quick to implement and test
Allow for easy tuning of behavior
Let me know if you like it so I can submit a proposal on upwork!
melvin-bot commentedon Dec 4, 2024
📣 @ahmedkhan28! 📣
Hey, it seems we don’t have your contributor details yet! You'll only have to do this once, and this is how we'll hire you on Upwork.
Please follow these steps:
Format:
ahmedkhan28 commentedon Dec 4, 2024
Contributor details
Your Expensify account email: ahmedkhan850@gmail.com
Upwork Profile Link: www.upwork.com/agencies/1838604427293852717
119 remaining items
[-][$250] IOS - Avatar doesn't get back to its original center position after zooming in and out[/-][+][HOLD for Payment 2025-02-24] [$250] IOS - Avatar doesn't get back to its original center position after zooming in and out[/+][-][HOLD for Payment 2025-02-24] [$250] IOS - Avatar doesn't get back to its original center position after zooming in and out[/-][+][HOLD for payment 2025-02-24] [$250] IOS - Avatar doesn't get back to its original center position after zooming in and out[/+]greg-schroeder commentedon Feb 24, 2025
Will process today
greg-schroeder commentedon Feb 24, 2025
Payment summary:
Contributor: @bernhardoj - $250 - ND
C+: @dominictb - $250 - Upwork
greg-schroeder commentedon Feb 24, 2025
Can you take care of the C+ checklist @dominictb? Thanks
[-][HOLD for payment 2025-02-24] [$250] IOS - Avatar doesn't get back to its original center position after zooming in and out[/-][+][C+ Checklist Needs Completion] [$250] IOS - Avatar doesn't get back to its original center position after zooming in and out[/+]dominictb commentedon Feb 24, 2025
BugZero Checklist:
Bug classification
Source of bug:
Where bug was reported:
Who reported the bug:
[Contributor] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake.
Link to comment: https://github.com/Expensify/App/pull/33756/files#r1967696226
[Contributor] If the regression was CRITICAL (e.g. interrupts a core flow) A discussion in #expensify-open-source has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner.
Link to discussion: N/A
[Contributor] If it was decided to create a regression test for the bug, please propose the regression test steps using the template below to ensure the same bug will not reach production again. Yes
Regression Test Proposal
Test:
Do we agree 👍 or 👎
dominictb commentedon Feb 24, 2025
@greg-schroeder done
bernhardoj commentedon Feb 25, 2025
Requested in ND.
greg-schroeder commentedon Feb 27, 2025
filed
JmillsExpensify commentedon Mar 3, 2025
$250 approved for @bernhardoj