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

No DB50X folder on iOS following 0.8.8 update #1381

Open
orome opened this issue Dec 9, 2024 · 4 comments
Open

No DB50X folder on iOS following 0.8.8 update #1381

orome opened this issue Dec 9, 2024 · 4 comments
Labels
bug Something isn't working user Reported by an actual user, yay!

Comments

@orome
Copy link

orome commented Dec 9, 2024

After updating to 0.0.8 on iOS the DB50X folder is gone (so no way to save or load state, or set keymaps). This happens after a normal iOS I update and after a remove-reinstall.

@orome
Copy link
Author

orome commented Dec 9, 2024

Rebooting the iOS device and then launching the app restores the folder, however it is then still necessary to manually load the new keymap in order to resolve #1375 and #1364.

(On macOS the DB50X folder is still there but the keymap only updates if loaded manually or state is loaded from disk.)

@c3d c3d added bug Something isn't working user Reported by an actual user, yay! labels Dec 10, 2024
@c3d
Copy link
Owner

c3d commented Dec 10, 2024

Thanks for the report, @orome

I have observed the "directory disappears until reboot" a couple of times on my own iPhone during development, as well as on iOS simulator, and frankly I have no explanation for it at the moment.

This is certainly related to how iOS implements application sandboxing, but I don't understand why an update of the same application would hide the directory created by the application until you reboot. And if that behaviour is somehow intentional, why is it not happening every time I update the application during development?

@c3d
Copy link
Owner

c3d commented Dec 10, 2024

Regarding the comment on "manually load the new keymap", you link to the old one. So just to clarify: the new layout is where you see the MTH menu and have y^x as a primary, not secondary function.

If you want the old key layout, then you can load it, but that's a user choice. Since that user preference is stored in the DB50x directory, if that directory disappear, then it's only logical that the preference stored there would as well.

This is a case where I could store that using the iOS support for preferences, the same way I do for iOS-specific settings like haptic feedback. But the intent was to use the same code as on the actual calculator for any preference that exists on the calculator (e.g. display mode, stack content, whatever). So since the calculator can switch keyboard layout, the shared code is used for that, and relies on the filesystem being available.

@orome
Copy link
Author

orome commented Dec 11, 2024

Regarding the comment on "manually load the new keymap", you link to the old one. So just to clarify: the new layout is where you see the MTH menu and have y^x as a primary, not secondary function.

Yes. sorry: I meant the one with MTH as primary. That's what I need to load manually after updating.
On subsequent uses the calculator loads with the old keymap (on both macOS and iOS), but switches to the new one when turned on (macOS but not iOS).

If you want the old key layout, then you can load it, but that's a user choice. Since that user preference is stored in the DB50x directory, if that directory disappear, then it's only logical that the preference stored there would as well.

Where is that preference stored?

...the intent was to use the same code as on the actual calculator for any preference that exists on the calculator.

I think that's the way to go. Handling anhthgn related directly to the actual calculator differently on macOS vs iOS vs DM42 seems like unnecessary work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working user Reported by an actual user, yay!
Projects
None yet
Development

No branches or pull requests

2 participants