I tested all new features in Chrome. The features work good.
Thanks! I'm not facile with regression testing on web apps, so this is very good to know.
Some comments:
-When putting a non-existing card in the "In Kingdom"/"Not in Kingdom"-fields, I get a blank screen except for the message "500: Internal Server Error". Maybe give a little more subtle error message?
The nicely formatted error messages are things that I'm explicitly checking for. The "500" errors happen when there's something wrong with my code or a situation I didn't think of. So I can give you a clearer generic error like "AI's code farted" or a stack trace, but that's about it. Thanks for the bug report tho.
-If I specify no player but a lot of cards in "In Kingdom", why don't you want to search it? Checking for an additional card in the kingdom should only slightly increase the search time, shouldn't it? Because you only have to check the hits for the new card.
Actually each additional card is an enormous increase in search time.
My database is indexed by player names, but not by supply cards. That means that I actually have to look through every individual game and check the supply against the search parameters, which is very slow. It keeps looking until it finds N matches, so the more cards you specify, the longer it has to look. Asking for 20 games with any particular set of 4+ cards requires looking through the entire database.
I'll eventually add indexing by supply cards, so those searches will be faster, but I don't see a good way to index by cards that aren't in the supply. If someone has a good suggestion, I'll be happy to implement it, but I also suspect this isn't at the top of many people's feature request lists.