-
Notifications
You must be signed in to change notification settings - Fork 3.2k
[$250] mweb-cards-Minor visual glitch on navigating back from concierge to cards page #61668
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
Comments
Triggered auto assignment to @Gonals ( |
Triggered auto assignment to @dylanexpensify ( |
💬 A slack conversation has been started in #expensify-open-source |
👋 Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open `StagingDeployCash` deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:
|
Job added to Upwork: https://www.upwork.com/jobs/~021920420725439306402 |
Triggered auto assignment to Contributor-plus team member for initial proposal review - @parasharrajat ( |
Very, very minor Mobile-Chrome visual bug. Not blocking deploy on it |
ProblemWhen tapping the back button on the Concierge screen, the Workspace Company Cards page briefly flashes a bright‑green skeleton loader (from Root Cause
Solution1. Suppress Skeleton Loader on Back NavigationPass a flag ( // ConciergePage.tsx
<ReportHeaderSkeletonView
onBackButtonPress={() => Navigation.goBack('WorkspaceCompanyCardsPage', { suppressPlaceholder: true })}
/>
// WorkspaceCompanyCardsPage.tsx
const { suppressPlaceholder } = useNavigationParams<{ suppressPlaceholder?: boolean }>();
if (isLoading && !suppressPlaceholder) {
return <CardsSkeleton />;
} 2. Protect Dev-Only Green CSSUpdate the skeleton styles to avoid bundling development-only styling in staging/production: /* CardsSkeleton.module.css */
.placeholder {
background-color: transparent;
}
@media all and (env(DEVELOPMENT)) {
.placeholder {
background-color: #0f0;
}
} 3. Fade in Cards Page ContentSmooth the visual transition when content loads: const fadeAnim = useRef(new Animated.Value(0)).current;
useEffect(() => {
Animated.timing(fadeAnim, {
toValue: 1,
duration: 200,
useNativeDriver: true,
}).start();
}, []);
return (
<Animated.View style={[styles.container, { opacity: fadeAnim }]}>
{/* Card list and content */}
</Animated.View>
); 4. Wait for Theme Hydration Before RenderBlock rendering of UI until theming is ready: const { isHydrated } = useTheme();
if (!isHydrated) {
return <NeutralSpinner />;
} Tests
Alternatives Considered
Supporting Info:
|
@parasharrajat Whoops! This issue is 2 days overdue. Let's get this updated quick! |
@bradyrose Did you check whether our |
Hey @parasharrajat, export function goBack(route?: string, options?: { compareParams: boolean }) {
try {
if (!navigationRef.current?.canGoBack()) return;
navigationRef.current.goBack(route, options);
} catch (err) {
Log.warn('[Navigation] goBack error:', err);
}
} So in our // src/hooks/useSafeBackHandler.js
export default function useSafeBackHandler(navigation, customRoute) {
// …
navigation.goBack(customRoute);
// …
} And then in a screen that needs a custom back target: // e.g. CategorySettings.js
const backTo = route.params?.backTo ?? 'Settings';
useSafeBackHandler(navigation, backTo); That way, you preserve any custom route while still debouncing rapid back‑presses. |
@bradyrose Please use |
@parasharrajat Updated and folded details into proposal. Thanks. |
📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸 |
@parasharrajat Eep! 4 days overdue now. Issues have feelings too... |
If you haven’t already, check out our contributing guidelines for onboarding and email [email protected] to request to join our Slack channel!
Version Number: V9.1.42-0
Reproducible in staging?: Yes
Reproducible in production?: No
If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/tests/view/6068249
Email or phone of affected tester (no customers): Slottwo1 [email protected]
Issue reported by: Applause Internal Team
Device used: Redminote note 10s android 13
App Component: Workspace Settings
Action Performed:
Expected Result:
Tapping device back button from concierge page, minor visual glitches (green) must not be seen in cards page briefly.
Actual Result:
Tapping device back button from concierge page, minor visual glitches (green) can be seen in cards page briefly. In production behaviour no green minor glitches.
Workaround:
Unknown
Platforms:
Screenshots/Videos
Bug6825294_1746689289225.Screenrecorder-2025-05-08-12-52-38-762.mp4
View all open jobs on GitHub
Upwork Automation - Do Not Edit
Issue Owner
Current Issue Owner: @parasharrajatThe text was updated successfully, but these errors were encountered: