-
Notifications
You must be signed in to change notification settings - Fork 15
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
Makes episode sync work #44
base: main
Are you sure you want to change the base?
Conversation
The timestamp is being stored in the DB as an integer, but in a field of type varchar(255). So the DB cannot be used to sort of filter, because it would sort the integers alphabetically. The workaround is to load all of the results into memory and then throw away any that don't meet the optional `since=` filter. fixes oxtyped#39
I couldn't figure out how to run the tests. They seem to require a pre-existing database, but I'm not sure what's expected there, and I didn't see anything in the repo that would generate it. I did manually test this with antennapod, but I don't know if the automated tests would pass after these changes. |
If anyone else wants to try this in the meantime, you can use container image Just take note that I made a new `Containerfile' which has the process running as non-root (user 1001), so be mindful of permissions when mounting storage there. Update: I forgot to mention that I also put the binary in
|
so when I would like to try it I have to change the image to |
Here's what I did to run it locally on Fedora and use a directory on my system to store the data:
If you're still using docker, the same arguments should work. And you might not need the |
When I use the following docker compose file in Portainer and start with an empty gpodder2go-folder I got the following error message: services: No database found, intializing gpodder2go ... |
Yeah, that error message is misleading, and it's a bug in the sqlite3 driver. The problem is just that the process can't write to the The process running in the container will run as UID 1001, instead of running as root. That's a good thing. We just need to make sure that user 1001 can write to the data directory. Sorry, I haven't used docker in many years, so I can't test with it. One of the main reasons to use podman is that it makes it easier to run things as non-root. Can you run |
Thanks for the explanation. I fixed it via giving read+write access to everyone in the Synoloy DSM GUI for this folder. Then I tried to add a user via: But I got this error: |
Ah yes, sorry, I forgot to mention one other change! I put the binary in the standard location for binaries instead of at /. Just remove the
|
Yes, without |
After synchronisation I recognised that the sync is failed in AntennaPod. I have attached my podcast subscriptions and also the log from portainer. |
I suggest opening a new issue on this repo for that, as it's likely unrelated to the episode API. The auth check happens early in the code flow, before any of the API handlers get invoked. Reading the code, I don't see how the |
Now I started with a fresh installation of AntennaPod and added my subscriptions and checked it with a second device. |
I've tested this with Antennapod, and episode sync is working perfectly.
This merges #18 and completes that work. Thanks @TheBlusky !
fixes #39