Skip to content

Feature: Import OTPs from ZIP archive#241

Merged
tijme merged 3 commits intoraivo-otp:masterfrom
z64me:restore-from-backup
Apr 10, 2023
Merged

Feature: Import OTPs from ZIP archive#241
tijme merged 3 commits intoraivo-otp:masterfrom
z64me:restore-from-backup

Conversation

@z64me
Copy link
Contributor

@z64me z64me commented Apr 1, 2023

PR Details

Users can now reimport OTPs previously exported from Raivo. Closes #22

Screen_Recording_2023-03-31_at_11 22 52_PM

Description

For every file related to exporting OTPs, I have created an equivalent for importing OTPs, e.g. I added MainDataImportView/DataImportFeature/etc to complement the existing MainDataExportView/DataExportFeature/etc.

The import process spans two steps: the user selects the ZIP file to import, and then they are prompted to enter the password required for decryption.

Type of change

  • Docs change / refactoring / dependency upgrade
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code follows the code style of this project.
  • My change generates no new warnings
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.

Users can now reimport OTPs previously exported from Raivo. Closes #22
Copy link
Contributor

@tijme tijme left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome pull request @z64me 🚀 . Users of Raivo will really like it, it's one of the most requested features!

I have some feedback points. The main one being that I don't think the old passwords should be deleted. I think users should be instructed to delete those themselves, to prevent accidental deletes.

z64me added 2 commits April 1, 2023 16:22
Error messages added and tested for specific failure conditions:
- Incorrect password
- Missing JSON
- Invalid JSON structure
- Empty JSON array
@tijme tijme merged commit bbfbc59 into raivo-otp:master Apr 10, 2023
@tijme
Copy link
Contributor

tijme commented Apr 10, 2023

Thank you for your contributions @z64me! 🚀

This feature will be released to TestFlight within a few days, and to the AppStore after several weeks.

@tijme
Copy link
Contributor

tijme commented Apr 10, 2023

Hmm, I'm testing it personally in TestFlight right now, but unfortunately it states that the password is incorrect. So this feature does not seem to work with all ZIP archives yet. What I did to reproduce;

  • Update app
  • Export ZIP
  • Logout
  • Login
  • Import ZIP

What's strange is that this does work in the simulator, just not on my iPhone.

@z64me
Copy link
Contributor Author

z64me commented Apr 11, 2023

Could it be an issue with file paths or permissions? What kind of output do you get from SSZipArchive.isFilePasswordProtectedAtPath()?

tijme added a commit that referenced this pull request Apr 11, 2023
@tijme
Copy link
Contributor

tijme commented Apr 11, 2023

Wow, that took a while to debug for me. But you were right. This was indeed a permissions error on the path. Learned something new today, as I was debugging with string paths instead of URL objects.

@tijme
Copy link
Contributor

tijme commented Apr 11, 2023

Will push a new version to TestFlight later today. Thanks!

@tijme
Copy link
Contributor

tijme commented Apr 13, 2023

This was just released to the AppStore. Thanks again.

@z64me
Copy link
Contributor Author

z64me commented Apr 15, 2023

I downloaded the latest update earlier and it works great. 👍 Thank you for maintaining Raivo. It is great software. ❤️

@dkorunic
Copy link

dkorunic commented May 5, 2023

I have been able to reproduce an sync issue with ZIP imports. Exporting everything to a ZIP file, signing out and creating a new master password, I've reimported successfully all TOTP seeds, but on a secondary device synced through iCloud only ~40% of the seeds are visible. I was able to resync manually all of seeds by editing and saving one by one, but I think that there is some kind of race with batch syncing after import. During syncing 54 seeds, I've observed only ~26 being synced in the sync status progress.

@chris-aeviator
Copy link

since the developers leave no way to contact them, have closed the issue section here on github I want to raise the ongoing issue that raivo otp has without my consent deleted all entries in my application. This is a critical issue, locking out businesses out of their services.

How can I restore my data?

@reterkha
Copy link

reterkha commented Jul 1, 2024

since the developers leave no way to contact them, have closed the issue section here on github I want to raise the ongoing issue that raivo otp has without my consent deleted all entries in my application. This is a critical issue, locking out businesses out of their services.

How can I restore my data?

You can't we've all moved on. I didn't have any backups and lost everything.

This app is dead now. The new devs have lost their investment.

@chris-aeviator
Copy link

chris-aeviator commented Jul 1, 2024

@reterkha

it's so good to see their appstore rating go southpole. How drunk can one be? We should all still report this app with the apple

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

5 participants