Skip to content
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

[android][media-library] update check for album corruption #31027

Merged
merged 6 commits into from
Aug 30, 2024

Conversation

Nafeij
Copy link
Contributor

@Nafeij Nafeij commented Aug 16, 2024

Why

We can't assume an album is corrupted because it contains non-files. In an app with file manager perms, it's possible for expo to access external albums which may be nested or otherwise contain directories.

Closes #30869

Also feel free to suggest alternative checks. We should also check if the non-file is a non-directory (#31027 (comment))

How

Add an additional check to prevent the exception being thrown for nested but otherwise valid albums.

Test Plan

See the Minimal reproducible example in #30869 to reproduce original behavior.

Before:

Recording.2024-08-16.162301.mp4

After:

Recording.2024-08-16.164251.mp4

Checklist

@expo-bot expo-bot added the bot: suggestions ExpoBot has some suggestions label Aug 16, 2024
@Nafeij Nafeij force-pushed the fix/allow-nested-albums branch from 2a226c9 to 62207df Compare August 16, 2024 08:37
@expo-bot expo-bot added bot: passed checks ExpoBot has nothing to complain about and removed bot: suggestions ExpoBot has some suggestions labels Aug 16, 2024
@Nafeij Nafeij marked this pull request as ready for review August 16, 2024 08:48
@Nafeij Nafeij requested a review from behenate August 28, 2024 09:06
@Nafeij Nafeij changed the title [android][media-library] remove file check for album asset [android][media-library] update check for album corruption Aug 28, 2024
@Nafeij Nafeij requested a review from behenate August 30, 2024 07:57
@behenate behenate merged commit ed6154b into expo:main Aug 30, 2024
7 checks passed
@behenate
Copy link
Member

@Nafeij Thank you for the contribution!

@Nafeij Nafeij deleted the fix/allow-nested-albums branch September 2, 2024 14:19
behenate pushed a commit that referenced this pull request Sep 30, 2024
# Why

We can't assume an album is corrupted because it contains non-files. In
an app with file manager perms, it's possible for expo to access
external albums which may be nested or otherwise contain directories.

Closes #30869

~~Also feel free to suggest alternative checks.~~ We should also check
if the non-file is a non-directory
(#31027 (comment))

# How

<!--
How did you build this feature or fix this bug and why?
-->

Add an additional check to prevent the exception being thrown for nested
but otherwise valid albums.

# Test Plan

<!--
Please describe how you tested this change and how a reviewer could
reproduce your test, especially if this PR does not include automated
tests! If possible, please also provide terminal output and/or
screenshots demonstrating your test/reproduction.
-->

See the `Minimal reproducible example` in #30869 to reproduce original
behavior.

Before:


https://github.com/user-attachments/assets/f6edbc3f-2850-4ae6-97fd-12caa8ce4ae9

After:


https://github.com/user-attachments/assets/8527535f-5926-488f-82fd-bd6ee82956aa

# Checklist

<!--
Please check the appropriate items below if they apply to your diff.
This is required for changes to Expo modules.
-->

- [x] Documentation is up to date to reflect these changes (eg:
https://docs.expo.dev and README.md).
- [x] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
- [x] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).
nathan-ahn pushed a commit to nathan-ahn/expo-media-library that referenced this pull request Nov 13, 2024
# Why

We can't assume an album is corrupted because it contains non-files. In
an app with file manager perms, it's possible for expo to access
external albums which may be nested or otherwise contain directories.

Closes #30869

~~Also feel free to suggest alternative checks.~~ We should also check
if the non-file is a non-directory
(expo/expo#31027 (comment))

# How

<!--
How did you build this feature or fix this bug and why?
-->

Add an additional check to prevent the exception being thrown for nested
but otherwise valid albums.

# Test Plan

<!--
Please describe how you tested this change and how a reviewer could
reproduce your test, especially if this PR does not include automated
tests! If possible, please also provide terminal output and/or
screenshots demonstrating your test/reproduction.
-->

See the `Minimal reproducible example` in #30869 to reproduce original
behavior.

Before:


https://github.com/user-attachments/assets/f6edbc3f-2850-4ae6-97fd-12caa8ce4ae9

After:


https://github.com/user-attachments/assets/8527535f-5926-488f-82fd-bd6ee82956aa

# Checklist

<!--
Please check the appropriate items below if they apply to your diff.
This is required for changes to Expo modules.
-->

- [x] Documentation is up to date to reflect these changes (eg:
https://docs.expo.dev and README.md).
- [x] Conforms with the [Documentation Writing Style
Guide](https://github.com/expo/expo/blob/main/guides/Expo%20Documentation%20Writing%20Style%20Guide.md)
- [x] This diff will work correctly for `npx expo prebuild` & EAS Build
(eg: updated a module plugin).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bot: passed checks ExpoBot has nothing to complain about
Projects
None yet
3 participants