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

Store invalid format for simulator-based default store #47

Closed
AgapovOne opened this issue Oct 15, 2021 · 2 comments · Fixed by #48
Closed

Store invalid format for simulator-based default store #47

AgapovOne opened this issue Oct 15, 2021 · 2 comments · Fixed by #48
Labels
question Further information is requested

Comments

@AgapovOne
Copy link
Contributor

AgapovOne commented Oct 15, 2021

I'm trying to simply open a .pulse file from a simulator app folder. The app constantly says to me that it has Store invalid format.

Tried to debug this issue and I see a strange behaviour over saving and reading logs.
my logs are stored as ../Logs/com.github.kean.pulse/current.pulse/logs.sqlite. I see that logic for default store always uses bundle name and then adds current.pulse.

Then after I provide my path ../Logs/com.github.kean.pulse as an input to Open command it says to me the Store invalid format, but actually it fails to find a file at path ../Logs/com.github.kean.pulse/logs.sqlite, without current.pulse between sqlite and a folder.

Pulse app

I tried to fix the behaviour of an app and added current.pulse to a path.
When I provide this new path to Pulse app it gives me another error. You don't have permission to save the file "blobs" in the folder "com.github.kean.pulse". It seems to me like it shouldn't even try to save in a folder where there's no permission to do it.

Then I removed parent folder and left only ../current.pulse/logs.sqlite.

Pulse Pro app

Pulse Pro succeeds to open these logs without double parent folders. I provide it ../current.pulse folder as an input.

Save vs Read behaviour

  • default save to ../Logs/com.github.kean.pulse/current.pulse/logs.sqlite
  • default read with input ../Logs/com.github.kean.pulse tries to find ../Logs/com.github.kean.pulse/logs.sqlite

I can't provide current.pulse file with default Finder without renaming com.github.kean.pulse to something without extension to make it a folder.

It's strange to have intermediate current.pulse folder, because that makes it impossible to open folders. Or the parent folder should not have .pulse extension. That extension forces Finder to think it's an app file, not a simple folder.

Fix

I see how can I solve this in different ways, like retrying with inner *.pulse folders after failed default retrieval, but I'm not sure if it's the best decision here.

Also I see it strange no one ever struggled with this issue, because no version of Pulse.app opened logs for me before. I always use iOS in-app logs viewer with PulseUI.

It would be cool to have a live logs watcher with a simulator app on the same mac.

I would love to implement this fix, just say if I'm getting it right.

@AgapovOne
Copy link
Contributor Author

Here I've added a test case for this situation
AgapovOne@8528ee0

@kean
Copy link
Owner

kean commented Oct 16, 2021

It's strange to have intermediate current.pulse folder, because that makes it impossible to open folders. Or the parent folder should not have .pulse extension. That extension forces Finder to think it's an app file, not a simple folder.

It's an omission from the earlier versions. Initially, I used reverse DNS notification for naming the folder where all Pulse stuff is stored: "com.github.kean.pulse". Initially, "pulse" extension had no meaning. And many months later I came up with a proper document format*.

I agree that the best fix is to remove the ".pulse" extension form the parent folder. Maybe not use dots at all in the name? I'll update it in the upcoming release. Or if you want to make a change, the PRs are always welcome.

because that makes it impossible to open folders

You can use right-click on it and use "Show Package Contents" as a workaround. Then just double-click on "current.pulse".

Also I see it strange no one ever struggled with this issue, because no version of Pulse.app opened logs for me before. I always use iOS in-app logs viewer with PulseUI.

Using a "Share" option also works. It's especially useful on a physical device. I'm not sure how common a scenario for opening logs directly from the simulator app sandbox is. But it, of course, should be supported by the app. I'm also thinking about adding a convenience feature for showing you a list of simulators with Pulse stores to make it easier to open them. It could be a one-click operation instead of phishing for the right folder.

like retrying with inner *.pulse folders

This shouldn't be necessary.

It would be cool to have a live logs watcher with a simulator app on the same mac.

Pulse Pro supports it.


*Technically, there are two different formats. One is a package (a directory that macOS treats as a single document). It's optimized for writing and that's what the read-write stores use. And another is a zip archive optimized for storage and sharing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants