Closed Beamanator closed 1 year ago
Triggered auto assignment to @arielgreen (Bug
), see https://stackoverflow.com/c/expensify/questions/14418 for more details.
While this issue currently exists, I would prefer waiting till https://github.com/Expensify/App/pull/12549 gets merged before working on this (most likely can be external) since in that PR we're enabling other image formats to be uploaded
https://github.com/Expensify/App/pull/12549 just got merged! I thinkkkkk we should still wait for it to get to Production, just in case there's any regressions found
Additionally, now that #12549 just hit production, we should remove the hold. Woo!
cc @trjExpensify Since you're on the main tracking issue.
Ah yeah, let me take this over for you @arielgreen. :)
@Beamanator what's the plan? Are you taking this or are we going external? I agree it should come off hold now.
@Beamanator, this issue will hit 4 weeks old after next week and it doesn't seem like we've made any further progress here yet to get to a resolution before then. What are the next steps?
True true, I believe next steps are to get this discussion moved to #expensify-open-source to make sure we're aligned on how to proceed
Posted here to try to get alignment: https://expensify.slack.com/archives/C01GTK53T8Q/p1671547890266159
Assigning myself since beaman is OOO. caught up on that thread and confirmed with Ioni next steps are:
I'll dig into this tomorrow when I'm back online.
My take is that we should add the NewFeature
label to this issue. Here's my reasoning: The imagine improvements are like reliable notifications as well as the navigation reboot. They all collective solve "bugs" we've discovered in the app, but they are actually larger architectural plays that are more accurately part of N7. WAQ is simply about solving existing bugs older than 30 days, and this bug was essentially created in the process of adding new capabilities. So yes, it's a bug and we should fix it as part of the image improvements project. But I also don't think it's part of WAQ as we result.
Looks like something related to react-navigation
may have been mentioned in this issue discussion.
As a reminder, please make sure that all proposals are not workarounds and that any and all attempt to fix the issue holistically have been made before proceeding with a solution. Proposals to change our DeprecatedCustomActions.js
files should not be accepted.
Feel free to drop a note in #expensify-open-source with any questions.
Triggered auto assignment to @sakluger (Bug
), see https://stackoverflow.com/c/expensify/questions/14418 for more details.
I was chatting with @trjExpensify and he rightly pointed out that we should keep the bug
label on this issue for clarity. Though in addition to that, I'm going to add [HOLD WAQ]
in the title, because again, this is bug created by an implementation of new features in progress. So there's no way it should hold up WAQ. Adding the hold will help us stay focused on the issues that block N7 and prevent WAQ from being done.
okay unassigning myself then and looking for other bugs
@Beamanator, @trjExpensify Whoops! This issue is 2 days overdue. Let's get this updated quick!
Ok so if this is on hold I shouldn't prioritize it @JmillsExpensify ? Or should I still make progress on it once i'm back (Monday)? Also if it's on hold I am thinking to drop the priority to Weekly
Are there other bugs on the image improvements hit list that you're currently working on or is this next up?
I just submitted a PR for this one today: https://github.com/Expensify/App/issues/13957
So this one is up next!
Dope, let's get it!
Part 1 which will convert all images (except pngs) to jpeg is here: https://github.com/Expensify/Web-Expensify/pull/35994
Once this is working fine, I'm planning to open this up to contributors to help fix these issues mentioned in the OP:
Oh, are those three still going to be a problem when part 1 is done? 😕
https://github.com/Expensify/App/issues/13910 should be fixed or made not an issue by this GH when it's done, closing the other one.
Same question as here for @Beamanator, Melv.
Sorry y'all :D Good questions @trjExpensify - I need to do some testing to see if bmp
or gif
have problems when being uploaded in native devices - I don't know exactly when the errors appeared (before or after trying to upload them as avatars). If the errors happened before uploading, I think the issues could still arise
I need to do some testing to see if bmp or gif have problems when being
Noice, let me know how you get on!
Ok well I was able to upload a GIF as a chat attachment, but not a profile photo! I can get to the "Edit photo" avatar crop screen, but then clicking "Save" does nothing - this is what we experienced before and mentioned at the top of the issue.
So that will need to be fixed.
iOS converts GIF to JPG in URL of uploaded file
This is still true, nothing wrong with it :D
iOS throws errors when uploading BMP
This is also still true, but I thinkkkk we can just not let iOS users upload BMP images instead of spending a lot of time and energy getting a "fix" - I believe it's very unlikely that an iOS user will have BMP images on their phone that they want to upload
One more thing is I need to test out enabling SVG avatar uploads - i'll work on that today
Although I'm running into this issue when trying to display an svg that has been saved in Onyx 🤔
Oh it looks like Image
(React Native component)'s source
prop doesn't support svg
, this could be a problem for mobile - idk why it's not working for web though
GIF works no problem:
SVG no happy:
Failed to load resource blob:http://localhost:8080/c19adda9-969b-4303-ab41-bd3e19b7123e (404)
@trjExpensify I think I'm going to need someone else's help on this - it kinda looks like there might be a problem storing SVG image data locally (using URL.createObjectURL
) the way we store everything else, though I couldn't find any evidence of other people hitting the same issue.
I also think it could be nice to wait for Georgia's PR https://github.com/Expensify/App/pull/13216 to be merged before we keep going with SVGs since there's a decent amount of overlap there, getting SVGs to load up in avatar icons
@Beamanator @trjExpensify We should move the WAQ hold in my opinion in any case.
Georgia also brought up a good point about svgs:
Note: The user can still not upload an SVG as an avatar because SVGs must be supported on both old/new dot
Is there a concern with allowing SVG avatar uploads on OldDot or something?
Question from Friday still stands, Melv.
Oops sorry for the delay - at least displaying the SVG avatars in OldDot needs to work before we start supporting uploading in NewDot. @grgia it seems like in your default svg avatar PR, we're not even trying to support default svg avatars in OldDot right?
For the default avatar PR, since we want to use different default avatars on OldDot vs NewDot, I didn't end up needing to touch OldDot. But yes, to use SVGs for avatars we would need to support it on both platforms
I'm a bit confused trying to piece this together:
We'd probably benefit from writing up a summary of where we're at with these moving parts, adding that to the OP, and starting a discussion on whatever decisions we need to make to go from her.
I think it's
Ok yeah so here's a small recap from my side:
gif
avatar uploads don't work on Android devices
bmp
avatar uploads don't work on iOS devices
svg
avatar uploads:
URL.createObjectURL()
)..jpeg
so actually it should be a problem displaying these in OldDot, so I think that's my bad for leading us down the wrong path there 🙃
gif
How do we feel about disallowing this type of upload for now?
I think that's fine. These aren't a priority
bmp
How do we feel about disallowing this type of upload for now?
I think that's fine. These aren't a priority
svg
Once the SVG uploads, we actually do successfully convert it to a .jpeg so actually it should be a problem displaying these in OldDot
Did you mean shouldn't because we converted it to jpeg
? I think you did but want to confirm.
gif avatar uploads don't work on Android devices How do we feel about disallowing this type of upload for now, vs trying to fix the issue in a 3rd party lib?
Isn't it a bit extreme to not allow these file type uploads across all platforms, just because of a problem with the file format on one platform? (Same for bmp
). Why are we discarding a path like this:
That's a fair suggestion, though perhaps we should even align on what doesn't work mean? Does that mean crash? Does that mean the user tries something and it doesn't work with no feedback. I'll admit, I was assuming something worse than just it doesn't work with no feedback.
Then as for addressing it, to clear, I absolutely agree we should address it. My bigger concern is ensuring that default avatars have nothing in their way, though per my question above, it sounds like this isn't blocking it? Would love a confirmation from @Beamanator.
@JmillsExpensify I'm 99% sure there's nothing blocking default avatars here, just the uploading of new custom SVG avatars by users
Isn't it a bit extreme to not allow these file type uploads across all platforms, just because of a problem with the file format on one platform? (Same for bmp).
@trjExpensify just to make sure we're on the same page here, for bmp
I'm suggesting we only disallow bmp
s from being uploaded on iOS, not on all devices (same for gif
on Android only).
But yeah if we're ok with In the meantime, accept that gif avatars don't work on Android and bmp uploads don't work on iOS until (2).
, then I like your plan of opening up an issue to get them fixed, at their own pace 👍
Awesome that sounds like a plan to me too. Shall I create the separate issue for bmp
(iOS) and gif
(Android)?
Nice, yeah if you have time today that would be great 👍 👍 If not, I can get to it tomorrow or Friday
If you haven’t already, check out our contributing guidelines for onboarding and email contributors@expensify.com to request to join our Slack channel!
Action Performed:
main
, add'svg'
to the list of allowed avatar extensions in constAVATAR_ALLOWED_EXTENSIONS: ['jpg', 'jpeg', 'png', 'gif', 'bmp'],
svg
image, then continue through the crop modal to upload the imageExpected Result:
User can immediately see the avatar image that they just uploaded
Actual Result:
Workaround:
None needed
Platform:
Where is this issue occurring?
Version Number: Reproducible in staging?: Y Reproducible in production?: Y GH conversation: https://github.com/Expensify/App/pull/12549#issuecomment-1326579036
View all open jobs on GitHub
Upwork Automation - Do Not Edit