Comments (12)
@El-Virus You are right, its related to having too many items and how this tab, unlike the Favorites one doesn't use caching. Marking this as a bug and for now anyone having an issue can reset their watched database or just disable the whole tab altogether (both of these can be found in the Settings page)
from popcorn-desktop.
Well, then the only two options are storing them in the cache or implementing a list feature in the server (It would still be backwards compatible given that we are just adding a feature).
For the cache option, in my case, I have ~40 movies in my bookmarks, with a cache of 443kb. So, it's about 11kb/movie, let's hypothesize I've watched ~900 movies, and we'll change the average size/movie to 15kb, which would make a cache of 13mb, if in my lifespan I end up watching 10 times that, we'd have a 130mb cache, which, personally, I think is not that huge. (The standard low-cost computer today comes with a 512gb SSD, meaning that the database would take up ~0,0002% of the disk).
So, the cache option is quite acceptable.
Implementing the list feature shouldn't be hard (can't assure that, given that I haven't looked at how the server works at all), but it could also be considered. Its worth would depend on how much strain that would cause to the server. Do you see it as a viable option?
Anyway, the cache option seems fine.
from popcorn-desktop.
My issue was that after adding 100 movies only 8/9 show up in my list adding every refresh a few more and taking a few other off again.
Unless the cashe option is implemented I don't see it usefull
from popcorn-desktop.
@El-Virus yep I'll have a look at it (though not today, too much PCT for one day :)
from popcorn-desktop.
@El-Virus lol went to find the original PR to message the author for any ideas and just realized.. you are him π
So.. any ideas? We can make it cache, but might make the cache huge, or some other way I'm not aware of to resolve the error. In my understanding the issue comes from making too many simultaneous API requests and some of them fail. (at least that's what I remember from when @dutchy1001 found this.. not sure why we haven't opened an issue until now, tbh personally I forgot about it since I don't use this tab that much..)
from popcorn-desktop.
After all the issue's I had with the "watched" tab and how slow it was populated with the choosen movies/series I gave up on using it.
I dont really see the use of it as in the main page watched movies are faded anyway (it's a different story for series unfortunatelly).
from popcorn-desktop.
After all the issue's I had with the "watched" tab and how slow it was populated with the choosen movies/series I gave up on using it. I dont really see the use of it as in the main page watched movies are faded anyway (it's a different story for series unfortunatelly).
Well, using it as a filter for the main movies page is an option. The whole point of the watched tab is that sometimes some of us like to see which movies (or series) we've seen and rewatch them again (or find one in particular we can't remember the name of)
from popcorn-desktop.
@El-Virus lol went to find the original PR to message the author for any ideas and just realized.. you are him π
Indeed π
So.. any ideas? We can make it cache, but might make the cache huge, or some other way I'm not aware of to resolve the error.
Yeah, in many cases (such as mine) the cache would be too big, so that would hardly be an option. (Though we could consider adding that as a setting)
In my understanding the issue comes from making too many simultaneous API requests and some of them fail. (at least that's what I remember from when dutchy1001 found this.. not sure why we haven't opened an issue until now, tbh personally I forgot about it since I don't use this tab that much..)
Doesn't the main movies tab (or, yet again, the series tab) query a whole bunch of movies simultaneously? (I haven't looked at that part of the code, and won't be able to do so today).
I'd say that having the watched tab query them the same way the main tab does would be completely fine (A limited quantity of them at a time). Is that possible?
Or does the server decide which movies/series are sent to the client?
from popcorn-desktop.
But the thing is.. even as a filter it makes individual API request for every movie. And it would get even weirder since I guess it would basically hide the rest of the items, so you'd see like 1-2 items in your list, then have to scroll down for a couple more to appear etc...
The movies/series lists make a single API request per 25-50 items, and get limited info back. Then if you click on something it makes another request specifically for that item only. The issue with 'watched' is.. both of the APIs we use currently have no such 'list' feature where you can drop in 50 random imdb id's all together and get a list back, they only have such calls using their own sorters (year, latest, trending etc..). So your feature relies on making single calls for every item, like the movie/show detail page, to populate its list, which when you do 25-50 at a time.. is too much.. Favorites overcomes this by caching the limited data from the first 'mass'(list) call (for items marked as facorites only) and only doing single calls when you click on something for more, like the movie/series list does.. It would be an easy fix for this also but I'm not really sure how big the cache would get in this scenario..
from popcorn-desktop.
Yeah I think the cache option is the more realistic one since what the APIs do isn't always under our control (e.g yts) and even if it were, not many APIs or search features in general offer a feature like this where you can simultaneously list 50 different items based on 50 different query terms.. I guess since that would put a big strain on their systems..?
from popcorn-desktop.
Well, cache it is then.
@kiriles90, I think you can do it faster than I, could you handle the matter?
from popcorn-desktop.
@kiriles90 The watched database is infact the only reason I use PCT, and I love it for having this feature! My only gripe with it has been that I have had to deal with managing and finding things in it by text alone in my GUI. I did try some APIs like Cinemagoer, but they where all horribly slow and I only got close to figuring out how to parse the IMDB-ID to the image URL, so I'm just using a text GUI for now. I have just shy of 4400 entries in watched.db so waiting minutes per title as with Cinemagoer isn't really ideal. I have many times thought about cloning this repo and start going throught the code so that I could add the "Watched" tab myself, but the code base is a little bit too huge for a non-dev like me :P But I know that if I just knew (and understood) the code that creates one of the "Movies" or "Series" tabs, I could create my own "Watched" tab in like 20 seconds, by just copying and pasting the code for one of those tabs and changing a single math operation. At least if you load stuff the way I've always imagined that you do. If 'A' is the set of all movies and 'B' is the set of watched movies, my guess is that you do something like this today (for-loop for illustrative purposes):
For movie in 'A', if movie not in 'B': load info.
Instead of set difference, you could just use set intersection for loading "Watched" and you're done:
For movie in 'A', if movie also in 'B': load info.
No need to figure out how to solve anything, because you have already solved it when creating the code for the other tabs. Just copy/paste, change set logic, done! At least if my suspicions are true :) I would really love it if I could view and filter my own database with the app! I would actually not be opposed to having it all stored on my local drive, since that would save me the time of figuring out how to crack the IMDB-ID parsing but I at least thought I'd tell you that there probably exist a few second-solution to this problem.
from popcorn-desktop.
Related Issues (20)
- Movies Fail to load! HOT 1
- No sound with the Popcorn player HOT 3
- Make PopcornTime unstoppable with P2P runtime
- NWJS helper process memory leak HOT 3
- No sound for some movies/shows
- Filter by rating
- Black Screen and only audio start when you start with Popcorn Time media HOT 10
- 0.5.0 compile failure HOT 5
- show all favourite titles explicitly on screen
- Watchlist generate many requests
- Add the ability to customize BitTorrent Tracker listsγ HOT 2
- No Audio on some playback HOT 1
- AVG Antivirus free mark the file as infected of FileRepMalware HOT 3
- Enforce VPN connexion or warn user HOT 1
- Can you update the language settings for "only show content in your" to include english dubbed audio for anime?
- Enhanced filter and sort options HOT 1
- Faulty fullscreen subtitles HOT 7
- Audio Not Working HOT 2
- Fix ext. player/cast device subtitles for local files and Seedbox subtitles
- Add Linux ARM64 support HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from popcorn-desktop.