101

(50 replies, posted in Announcements)

Hey @ic0n67, put those data dumps in code blocks and they'll be much more legible.  smile

102

(50 replies, posted in Announcements)

sebi wrote:

I think Scryfall and other websites also have this as separate printings, and not a "flag", like normal foil. That is, if you go to a card that has for that printing a normal, a foil and and etched foil version, they don't all show up there as 3 different prices for that card. They will show up as a printing that has normal and foil, and the etched will be a separate printing.

I'm sure this was done out of the same expedience that I mentioned above -- a seller platform like TCGPlayer needs something NOW so its sellers can sell cards and they can make money. Scryfall and the others realized, like you, that it would take weeks of dedicated developer time to overhaul the system, so they opted to take the easy route in order to meet the short-term need. But just because they're all doing it doesn't mean it's the best system.

The problem is that for literal decades now, websites have been able to rely on the binary foil/nonfoil schema from WotC. Their own database schemas expect this data structure. Now WotC is no longer adhering to that structure.... and we're all left scrambling.

It's time to overhaul the system, to shed these data structure expectations, so we don't face this same issue in the future. I would hate for you to finally get this all settled, only to have WotC throw another curveball at you in a couple months.

I think Scryfall et al. will likewise discover that having ten printings of the same card just due to foiling variations will be a suboptimal system, and they'll eventually redo their database and flatten those printings. We're already running into this with MH2: There are retro frames where the foiling is only on the border, and retro frames where the foiling covers the art and text box. Scryfall likes to track "light" and "dark" printing variations of old cards (rather than considering one official and the other a misprint). Are they also going to acknowledge these modern-day foiling variations? I'm not saying they should. My point is that the number and types of variants can and will increase, so databases should be structured to be as flexible as possible.

103

(50 replies, posted in Announcements)

psrex wrote:

Letting users set attributes on a card is sure to lead to bad data.

The important distinction, though, is that it's bad data only within that user's account, rather than within the whole database, and a given user's bad data only affects other users when it comes to trades. As of now, I could go set the foil flag on all my Beta cards, and that will affect exactly zero people, until I try to list them for trade. I would rather tolerate bad data on the per-user level than introduce it on the card database level.


psrex wrote:

If you could only set flags to reflect what has actually been printed, then that would be great.  Certainly just being able to set flags to reflect that is a better user experience than selecting from a 15 item drop-down menu that details each variant.

I think you've hit on the key here. The flag system IS a great system, but it has this one glaring deficiency.

If Sebi were to utilize MTGjson as ic0n67 suggests, or implement the data himself as Joe suggests, then it would be a simple database query when populating the flag dropdown to check what foil treatments a card does or does not exist in.

104

(50 replies, posted in Announcements)

psrex wrote:

In my wantlist I end up entering both foil and non-foil versions of prelease cards that I'm looking for just so that I have a better shot at matching a card that might be entered in someone's tradelist.  Anything that can be done to stop errors from getting introduced is the right way to go.

This is definitely an issue, but you are addressing a different issue than what a foil etched flag is ultimately about. Deckbox's database should, as much as is possible, reflect the true edition and card schema created by WotC. Profane Tutor, as an example, already has a WotC-defined edition —Modern Horizons 2. There is no such edition as Modern Horizons 2 Etched, and since Profane Tutor already has a defined edition, there's no need to invent a non-existing one. The same goes for card name and number — Profane Tutor exists, Profane Tutor (Etched) does not; Profane Tutor #401 exists, Profane Tutor #401e does not. So what do we do when there's three printing variants (non-premium, foil, and foil-etched) of the single printing Profane Tutor, Modern Horizons 2, #401? That's where flags is a very elegant solution.

Back to your concern — I agree that wishlist / tradelist matching could be made more robust to account for user error (simply being able to set "I don't care about foiling" on a card would fix the issue you describe). However, while multiple editions is A solution for a very real problem, it's not the best solution for that problem. We don't want to introduce a new deficiency into Deckbox to do a patch job on an old deficiency. Besides, it doesn't really fix your issue, either. There'll still be user error in the form of people not noticing there's an "etched" edition and simply listing it as MH2 with the foil and promo flags set.... so you'll still have to add multiple wants to your wishlist, but instead of those multiple wants being "foil flag set" or "foil flag not set", it'll be two different editions!

105

(50 replies, posted in Announcements)

sebi wrote:

The user settable flag has the problem of affecting a very large amount of code and pages, because it's basically a special case in pricing. [...] I do ideally like this [flag-based] solution in principle as a user. But as the developer this will cause weeks of work and guaranteed future hidden bugs. The solution of separate printings (either with another edition, or with other collector numbers) gets rid of all these complications, since it's gonna be just another printing, that is foil (but with an "e" on the number, or as a note).

@Sebi — I've refrained from commenting until now, as I've already said a great deal on this topic. But I think I've figured out the solution.

The issue comes down to a conflict of short-term vs long-term needs: In the short-term, the community needs something ASAP so that they can start entering their etched cards into their inventories. In the long-term, Deckbox needs a sustainable, elegant solution, and almost all of us, including you, have agreed that a flag-based solution is just that (with only a few users voicing opposition, like psrex above, although his concerns with an etched flag can and should be dealt with in other ways). Unfortunately, the two needs do not jive, because meeting the long-term need will not allow for meeting the short-term need (due to development time).

The solution to this conflict? A planned migration:

STEP 1: Implement a temp system to meet the short-term need — Import the cards to the database however seems best in the short term (additional editions, different card names, custom collector numbers). Just ensure that there'll be a one-to-one relationship between an etched card in this temp system and an etched card in the final system.

STEP 2: Develop the long-term solution — Spend the time you need in updating your code in the background. I understand that it'll entail weeks of work, but it does seem like this will be a worthwhile time investment in the long run. In fact, take the opportunity to completely overhaul the pricing code, so that it's as modular and extensible as possible, to account for potential future weirdness from WotC (which is pretty much guaranteed, am I right???).

STEP 3: Release and migrate — In conjunction with releasing the updated pricing and flag engines, announce some planned downtime. During that downtime, run a script on the database that migrates everybody's inventories to the new system. It would see, e.g., Profane Tutor #401 from Modern Horizons 2 ETCHED and convert it to Profane Tutor #401 from Modern Horizons 2 with the etched flag set. Upon completion, delete the erroneous editions.

STEP 3a: Handle CSV imports — The only wrinkle in the above would be people like me who regularly export their inventory to CSV, then who might try to re-import after the migration, causing a long list of errors. You have two options: Leave it to the end-user to fix the "non-existing edition" errors, or create custom code to fix it for them. The only reason the latter might not be preferable is if it would cause a major performance bottleneck to the CSV import. But if you do a quick check for the existence of the erroneous editions within the CSV first, and only run the custom code if it returns true, the performance slowdown would only affect these few edge case users.

In summary — Don't compromise on the correct long-term solution out of short-term convenience or expedience. Instead, give us users a temporary way to handle our etched inventories, then gracefully migrate us over to the long-term solution once it's fully ready.

106

(113 replies, posted in Site Discussion)

Solseek wrote:

I'm using Excel on a Mac, and I'm still getting "Márton Stromgald", "Lim-Dûl's Vault", "Ghazbán Ogre", and "Dandân", for example. This is from a CSV export from last night.

That's frustrating. Thank you for letting me know. Interestingly, the names got garbled in a completely different way than on Windows. I'm sure it has to do with how Excel is (mis)interpreting the character encoding again. Unfortunately, I don't have a Mac to test on, but I'll see if I can find a solution.

As a temporary solution, you could consider trying to open them in Google Sheets or another non-Excel spreadsheet program. I read that Sheets doesn't have this issue. Other programs may not have all the features you need, though.


Solseek wrote:

I'll check with Sebi if we can change the name of "Surgeon ~General~ Commander" to "Surgeon -General- Commander". Specifically those tildes mess up searches.

Just out of personal curiosity, what type of searches are you performing that get messed up by tildes but wouldn't by hyphens? And how do they get messed up, as in, what's the messed-up result look like?

107

(113 replies, posted in Site Discussion)

Solseek wrote:

are you able to fix things like names that don't show up properly in exports, like Dandan, Marton Stromgald, and others with special characters?

So I did some research, and this has to do with how specifically Excel on Windows interprets and displays UTF-8 encoded files. In short, it doesn't like them, and shows you weird character strings instead of the correct ones. However, if you were to view the CSV in another program, like Notepad++, the correct characters are visible in the file.

I found a way to fix this issue that doesn't seem to interfere with Deckbox import. Let me know if you encounter any issues, but now you should be able to download and view the files in Excel without issue, as well as import them into Deckbox.

(For those interested, I batch-converted all the CSVs to use UTF-8 with BOM. Excel apparently needs that Byte Order Mark to know it's actually UTF-8 and not Windows-1252. Dumb.)


Solseek wrote:

Or like Surgeon General Commander where the tildes in the name cause search errors when looking up to a CSV export?

This is a different issue than the above. The tildes are part of Deckbox's naming convention for that card, just as quotation marks are part of Kongming, "Sleeping Dragon" or the exclamation point is part of To Arms!. Deckbox won't let you import those cards without the tilde/quote/exclamation included. In other words, there's nothing to "fix" in this case. Instead, you'll just have to account for those characters when searching within your CSV export.

That said, I could see a valid argument for Deckbox accepting both To Arms! and To Arms as equivalent names. Going back to special characters, you're already able to import either Dandân or Dandan into Deckbox without error. The same could easily be true for card names that have punctuation in them. If you think that would help you, I'd suggest bringing it up to Sebi via a support ticket. It might not be that hard for him to implement since he already has some version of it in place for accented vowels and the like.

sebi wrote:

- imported Commander 2021 tokens

Thanks Sebi!

The C21 CSVs have now been updated.

109

(2 replies, posted in Site Discussion)

It would actually be a fourth color, as there's already three (or four if you count white): yellow for partial sets, blue for a full set (1x of each card), and green for a full playset (4x of each card).

You know what would be even better? Being able to set your own custom collection goals per edition. I could imagine this being a fourth column next to wishlist. You would simply add however many copies you want of each card in a given edition, and then the color coding on the Editions page would reflect whether or not you've completed that collection goal or not. I recommend a 4-color system -- white / no color for N/A (no collection goal set), light red for 0% (collection goal set but no cards collected yet), yellow for 1%-99% (partial completion), and green for 100% (full completion). Or just combine 0% with yellow for a simple 3-color system.

This could tie into the existing Wishlist as well. Users could optionally enable an auto-wishlist setting, in which all collection goals that don't have adequate inventory counts to cover them get auto-added to your wishlist. And then when you add one or more copies of that card to your inventory, it gets auto-decremented in your wishlist.

And the Mass Input convenience methods could be extended, not only to include the new Collection Goal column (and probably a Wishlist + Collection Goal option), but also to allow for partial collector number ranges for adding the cards. Then you as a user can easily dictate, "I want 4x copies of the main Eldraine set not including basic lands (#001 - #249), and 1x copy of the showcase cards (#273 - #302). But none of those stupid extended art variants!"

110

(1 replies, posted in General Discussion)

This issue has been discussed extensively in this thread. Feel free to add in your thoughts, though I believe Sebi has already chosen a solution and is working to implement it.

111

(8 replies, posted in Site Discussion)

sebi wrote:

Yeah, deck pages were not designed to support thousands of entries. All changes to any card re-render the whole listing (for totals and statistics and stuff), even though that would not be necessary (or should be cleaned up and optimized). But the idea was that a deck is something small(ish), and not made to be paginated, like big collections.

Makes sense. I was noticing the re-rendering of each colored indicator for "have enough" / "don't have enough" in sequence, and figured that was part of the bottleneck.

Sorry Sebi. Your users are just bound and determined to break your site.  tongue


sebi wrote:

I think when we finally have tags for inventories a large number of usecases that people use decks for will move to use that instead. (except gigantic cubes)

Looking forward to it!

112

(8 replies, posted in Site Discussion)

ic0n67 wrote:

I think that speed would come of course with distinct cards and not just cards in general.

You are correct. I just tested by copying someone else's singleton reserved list, and had the same speed issues.

I also tested it as a Built Deck. No better or worse than Deck Idea.

I did notice that the card will actually update faster on the backend, but for some reason the page is slow to refresh its display of the details. I opened the deck in two tabs, and on one switched a card's edition from Revised to Unlimited. Then I kept refreshing the second tab. It updated in less than 10 seconds, but the first tab where I'd initiated the edition update took >30 seconds to show the new edition.

Caveat: I'm currently on slow data, so I'll have to check again tomorrow when my fast data is back. But even so, it shouldn't take that much longer to update.

113

(8 replies, posted in Site Discussion)

redwildrider wrote:

I was wondering if there was an actual maximum, or if there would be significant speed issues as that deck size grows larger.

I have no idea on a maximum, but I can comment on performance. TL;DR -- it got a lot slower for me with 2300+ cards in a deck.

So unlike a lot of people's versions of this, my reserved list "deck" actually lists 4x of each card..... because the dream is to own a playset of each P9 card, amirite??? LoL. In any case, that means 2300+ cards.

The other day I decided to actually go in and split rows and set specific editions for the ones I own. For instance, say I own 2x of a Collectors Edition version of a card, but my actual collection goal is 4x Revised of that card. I had to: 1) Add a new row for that card, 2) update the quantity of the new row to 2, and 3) change that row's edition to CE.

I noticed that all the actions took an abysmally long time. We're talking like 10-15 seconds per action. I have it set as a Deck Idea, not Built Deck, so I don't know if that affects it. I also am aware that Sebi has been silently making tweaks to the site's backend, so maybe I just did it at a bad time. And I'm using Chrome on Windows 10 if that matters.

However, if it's that slow all the time, then that would make it all but unusable for any box / binder that has frequently updating contents. Once all the contents are entered, though, it's not too slow for viewing / sorting.


redwildrider wrote:

Unless there is some other way on Deckbox in which I could classify my cards by the binder/box they're in that I have not yet stumbled across.

An oft-requested feature! But no, nothing has been implemented as of yet. Built Decks are still the closest we have.

114

(13 replies, posted in Site Discussion)

Kindwick wrote:

I am having a similar issue with using the Deckbox exported csv file with the decked builder windows app.  I tried running the Deckbox csv file through Decked Builders csv to coll2 converter website and it processed, but when I went to upload it to my Decked Builder collection, it did nothing.  Any help would be much appreciated!

You're actually needing help with the opposite process that this thread is about. We've been converting from Decked Builder .coll2 to Deckbox .csv, and you're trying to go the other way. So I'm not sure how much help I'll be, but a couple things I noticed:

You're using this converter, right? Decked Builder posted an announcement for it that contains a support email (it was posted almost 4 years ago, though, so who knows if it's up-to-date). Try what I mention below, but if you still encounter errors, try emailing them.


Proper CSV preparation. I think the issue is that if you just use a CSV exported from Deckbox without first preparing the CSV for conversion, the converter just silently makes an empty .coll2 file (which obviously will do nothing when you try to import it). If you do end up emailing their support, you might recommend that they add some sort of error message for this scenario.

In order to properly prepare a Deckbox CSV for conversion, you need to rename the header labels and include both a Regular and Foil count column. Here's what I did, which seemed to work (note: I don't have Decked Builder, so I couldn't test importing the converted file):

  1. Insert two new columns next to Count, labeling them Regular and Foil. Rename the original Deckbox Foil column to anything else, or just make it a blank cell.


  2. If Count is column A and Foil is column H, and starting on row 2:

    1. In the Regular column, copy down this formula: =IF(H2="foil",0,A2)

    2. In the Foil column, copy down this formula: =IF(H2="foil",A2,0)

    Adjust the column letters to your CSV file.


  3. Rename the column for Name to Card, and Edition to Set.


Name conflicts. The converter seemed to process this version. Of course, there were a ton of errors (which I didn't bother to correct) related to conflicting edition names, and their converter also doesn't seem to like special characters in card names, like Séance, Dandân, Lim-Dûl, etc. So you'll have to determine the Decked Builder version of the unrecognized editions and Ctrl+H to replace them en masse in the CSV. The card names you'll probably just have to manually change.


Duplicates. Decked Builder also doesn't seem to support language, condition, etc., so the converter produces duplicate entries. E.g. I have 2x English BNG Fated Retribution and 1x Russian BNG Fated Retribution, so I got:

  - - id: 378383
    - r: 2
  - - id: 378383
    - r: 1

I do not know how Decked Builder handles duplicates. Will they be combined, resulting in 3x Retribution? Are duplicates ignored, so only the first entry will be counted, resulting in 1x Retribution? Or do duplicates overwrite previous entries, resulting in 2x Retribution? You will have to experiment by test importing a small subset of cards. If it's either of the latter two scenarios, more work will have to be done within the CSV prior to conversion. Let me know and I can help explain the simplest way to "flatten" card names.


Artwork variants within the same set (basic lands, showcase versions of cards, etc.): Decked Builder IDs correspond to Gatherer's Multiverse IDs, so theoretically, the converter should be able to handle artwork variants. But I don't know how to go from Deckbox's Card Number to something Decked Builder will recognize. You would have to start by adding different variants in Decked Builder, export to CSV, and view the CSV source to see how they are differentiated. Then maybe there'd be an easy way to convert Deckbox data.


IN SUMMARY

  1. Get a Deckbox CSV export. Use the steps above to ensure you have the necessary Decked Builder columns (Regular, Foil, Card, and Set).

  2. Use the resulting list of errors to correct card / set name conflicts in the original CSV, then re-convert.

  3. Perform some test imports to see how Decked Builder handles duplicates and artwork variants. Post back here if you need more help with them.

  4. If we can't figure it out, try emailing their support. You might even link them to this forum thread as a way to recommend some compatibility improvements.

115

(46 replies, posted in Announcements)

sebi wrote:

Regarding the flags meldon44, I'm currently leaning in favor of what scryfall is doing, making the collector numbers strings instead of integers and adding those printings in parallel. I think that might be the cleanest way...

As I said before, that will get the job done, since it will allow for differentiation on a CSV.

My main concern is still with ease of identification when scanning lists of cards (whether in trades or one's own inventory). Most other card identifiers are easier to identify at a glance. Language, condition, foiling, and edition all have identifiable icons. The closest parallel are cards with variant artwork in the same set -- there's no way to tell them apart just by glancing at the table row; you have to hover to see the card image. However, it's worse with the etched variant, because the artwork is the same. We will have to hover over the edition icon in order to see the collector number, and then you'll "just have to know" that the little appended e means etched.

So. I shall be the etched flag flag-bearer till the bitter end.  ;-)

To be clear, I'm actually very happy to hear you proposing to change collector numbers to strings, as that could fix the other bugs I've mentioned (BFZ basics, Tahngarth). It's a good solution to implement. I just don't think that happens to be the best solution in the case of etched foils.

If you do indeed go with unique collector numbers a la Scryfall rather than flags, might I make a UI request? Could you add Collector Number as an additional optional column for card listings? Then at least I could see the collector number when scanning, and won't have to waste time hovering.



RDPARTY wrote:

Meldon, I have always used the altered flag for proxies... Although the only ones I currently proxy are some duel lands I suppose it's easier for me to keep track then it might be for some people.

Agreed. There's definitely "solutions" within the current system to represent proxies, at least to your own eyes. Just do what works for you. Like, I have actual alters, so I can't use that flag... but I could just use "textless" or "artist proof".

However, those types of hacks have a couple drawbacks. The main one pointed out in the thread I linked to is that the cards are still included in the inventory's valuation. If my real cards are worth $5k (at least per Deckbox), but I proxy a full set of duals, some Cradles, a Mox Diamond.... it shouldn't suddenly say my inventory is worth $20k or whatever. Sure, you can filter out whatever flag it is you used to represent proxies, then view Total Set Value for the filtered listing.... but that's just hacky.

A second concern is with universal recognizability when it comes to those "anything in my inventory is available to trade, just ask" type posts. Without an actual proxy identifier, people will think your Taiga with an altered flag is just that -- an altered Taiga -- and propose a trade for it, wasting both their time and yours. "But meldon," you say, "it's as simple as explaining it in your profile or post." Well, nothing is as simple as it should be when it comes to real-life interactions with human beings. People don't read. People will misunderstand. You'll forget to add it to your post. And so on. Can it work? Sure. But is it the most ideal UX? No.

I don't have any personal investment in the discussion, as I don't see any point in listing proxies in my inventory. But for the overall betterment of the site, I would propose a dedicated proxy flag that hooks into the pricing as the ideal solution. And since Sebi might have been looking into flags anyways, just thought it was a good opportunity to bring it up.

116

(46 replies, posted in Announcements)

Hey @Sebi, don't know if you're pursuing the flag-based solution or not, since we haven't heard from you in a minute, but if you are..... An off-topic but related request for proxy support keeps being bumped in this thread. As I express in more detail in my reply to that thread, I think the best solution for marking cards as proxies would also be via foil-like flags. So if you're already pursuing foil-etched flags, thought I may as well bring proxies to your attention, so you can kill two birds with one sto–, er, overhaul to the flag system.

Nianque wrote:

Could I use morphling's -1/+1 ability over and over to make it a 0/8 and then use the +1/-1 ability to bring it down to a 4/4? or a 5/3? or (given enough mana) whatever I want?

That would be cool! But no, unfortunately (or I guess fortunately, if you're the opponent).

Short answer: Although a creature can't deal negative damage in combat and instead deals zero, its power CAN be negative for the purposes of calculation. That means Morphling would in reality be a -2/8 (that deals zero damage), so the third ability will add +X to -2. Thus, the abilities are inverse operations, that is, they undo each other.

For a slightly longer answer that references the actual official rules, see comments #2 and #3 of this post.

Hey epiphanyplx! Don't know if you'll still receive notifications for this thread, but I ended up experimenting with the auto-trade feature myself, and I wrote something of a guide to it so there's less mystery surrounding the feature.

For your use case, I specified a method that allows you to temporarily use Auto-Trade, but then revert to your original tradelist afterwards (under "Other Questions").

As to the "only getting trades for dual lands" issue, what I'd suggest is adding any loose dual lands to a "deck" that you mark as Built. So then when you enable Auto-Trade, it won't include duals in your tradelist.

That said......... can I have all your duals????

;-)

119

(1 replies, posted in Site Discussion)

Alright, so I played around with it a bunch in my inventory, so hopefully now I can answer any questions you have. Here goes....


ic0n67 wrote:

First I know if you have your inventory filtered and then do and export that you will just export what is in the filter, does that work for mark all/unused for trade in the same way.

No, it doesn't work for Mark All. Using that option, regardless of what the current filter shows, will literally mark all your inventory as tradeable.

But you know what?? That's a great feature suggestion! It feels more intuitive that you would only add the current filtered set to your tradelist. Perhaps there should just be a new option in the drop down — rename the current option to something more clear like "Add Full Inventory to Tradelist", and then add the option "Add Current Selection to Tradelist".



ic0n67 wrote:

Second if I have something for trade already but I put it in a deck, for instance my extended art Doom Foretold is currently in a deck, but I do have it for trade if I used the mark unused for trade will that delist Doom Foretold for trade?

Correct. Auto-Trade will override most (but not all; see below) manual tradelist selections you've made. Note that it only works with built decks, though, not deck ideas.

Since it's a little unclear what order you're asking about performing the actions in, here's a couple scenarios:

Scenario A — You don't have Auto-Trade enabled yet. You have Doom Foretold in a built deck, but you have also manually listed it for trade. You can navigate to both the deck and your tradelist and see it in both locations. You can also see it counted in both the deck and tradelist columns of your inventory. Then you enable Auto-Trade. Doing so will remove Doom Foretold from your tradelist. In fact, you can no longer manually add it to your tradelist at all. It looks like you can, because you can update the tradelist count field on your Inventory page, and the count will appear to stick. But if you refresh or navigate to your tradelist, you'll see that Auto-Trade has once again removed it from trade (although there is an exception to this behavior; see below).

Scenario B — You already have Auto-Trade enabled. Doom Foretold is not in a deck yet, so it's currently listed in your tradelist due to Auto-Trade. Then you add it to a built deck. Unintuitively (especially considering how it worked in Scenario A), Doom Foretold will not be removed from your tradelist by Auto-Trade, but instead will be added to a "needs attention" filter (more on that below). However, if you trigger Auto-Trade to refresh, such as by changing another deck from Deck Idea to Built Deck, then Auto-Trade will reevaluate all your cards, and will determine that Doom Foretold should no longer be traded.



====================================

How Auto-Trade works

"Auto-Mark Unused for Trade", or Auto-Trade for short, seems to be both a process that will run at certain points, as well as a persistent state that modifies how cards interact with your lists. It only works with Built Decks and doesn't care at all what you have in your Deck Ideas (even if you have matched the cards in a deck idea to cards in your inventory). Thus, if you have only deck ideas and no built decks, your entire inventory will be made tradeable. Note also that the "sharing cards between decks" setting in your profile affects how Auto-Trade builds your tradelist.

When you first turn on Auto-Trade, the process will run and fully evaluate every card you have, removing it from your tradelist if it's in a built deck, adding it if it's not. It adds any difficult-to-evaluate cards to a special "needs attention" filter you can access from your inventory.

The "needs attention" filter appears to be for any cards with the same name that have multiple versions in your inventory (e.g. 1x M12 Shock, 2x M14 Shock, 1x foil M14 Shock). Even if you specify the specific version to use on the deck page, Auto-Trade will still act like it can't determine which card shouldn't be traded. (I guess better to err on the side of caution?) In order to resolve these conflicts, you have to manually specify the quantity of each version to trade. Continuing with Shock as our example: Once the combined sum of all versions of Shock in your built decks and tradelist equals the total number of Shocks (all versions) in your inventory, it will disappear from the "needs attention" filter.

While enabled, Auto-Trade interacts with card updates in the following ways:

  • Adding a card from your inventory to a built deck will not remove it from your tradelist. Instead, it will be added to the "needs attention" filter

  • Removing a card from a built deck will not add it to your tradelist. Instead, it will be added to the "needs attention" filter.

  • Adding a card to your inventory with the Add Card widget will not add it to your tradelist. Instead, it will be added to the "needs attention" filter.

  • Adding a card to your inventory by increasing the count of an existing card WILL update your tradelist (needs a refresh to see the updated count).

  • Updating the tradelist count field of any card behaves as follows:

    • If the card is the ONLY version of that card's name (e.g. you have 4x foil M21 Shock but no other Shock), the tradelist count will be set to the value that Auto-Trade will then calculate, no matter what you enter.

    • If you DO have multiple versions of that card name, then the tradelist count will retain the value you set. If the value you entered resolves a "needs attention" conflict, it'll be removed from that filter. If it reintroduces a conflict, it'll be added back to that filter.

    • Either of the above changes will trigger an Auto-Trade refresh, meaning all the above examples of cards not being properly added to / removed from your tradelist will be fixed.

    • If you enter the same number that was already in the tradelist count field, no refresh will be triggered.

  • Updating a deck to Built will trigger a refresh, so all cards in that deck will be removed from your tradelist. Conversely, changing a deck back to Idea also triggers a refresh, and all its cards will be re-added to your tradelist. In both cases, you may end up with new "needs attention" conflicts.



Other Questions

Will all the cards be removed from my tradelist if I disable Auto-Trade?

No, your tradelist will retain the state it was last in when Auto-Trade is disabled.


How do I get Auto-Trade to refresh? I've added and removed a bunch of cards from my decks, and I've added new cards to my inventory. Now my tradelist seems out-of-whack.

The easiest way to trigger an Auto-Trade refresh is to attempt to edit the tradelist count field of a card using a different value than what's currently there. A refresh will also be triggered any time you change a deck to/from Deck Idea or Built Deck. If all else fails, you can disable Auto-Trade, then re-enable Auto-Trade.


I just want to temporarily use Auto-Trade, but then revert back to my old tradelist afterwards. Is this possible?

Not directly. To achieve this:

  1. Tools > Export — The downloaded CSV file contains your current tradelist counts.

  2. Tools > Enable Auto-Trade — Do whatever. Just don't add or remove cards from your inventory (or the downloaded CSV will be out-of-sync).

  3. Tools > Disable Auto-Trade — Make sure you do this before the following!

  4. Tools > Remove Everything — Clears your inventory and tradelist.

  5. Add Cards > From CSV File — The exported CSV file will restore your original tradelist along with your inventory



Quirks / bugs to be aware of

  • When you're in your Inventory, you can update the tradelist count field of a card, and the number appears to stay. However, if you refresh your inventory or navigate to your tradelist, the count will NOT have been updated and instead reverts to its Auto-Trade value. Ambiguous user input is not desired behavior and will hopefully be fixed. If users can't manually override Auto-Trade (which honestly should be a consideration), then those fields should be locked and no longer editable to avoid this confusion.


  • Using the "Mark all for trade" function while Auto-Trade is enabled will override Auto-Trade and will persistently add all cards in your inventory to your tradelist — i.e. counts updated via "Mark all" will NOT revert after a page refresh / navigation. Then if you trigger an Auto-Trade refresh, unexpected tradelist counts occur and they don't seem to fix themselves. You have to disable and reenable Auto-Trade to correct it. Obviously, no user who wants to use Auto-Trade should reasonably want to also use Mark All.... but someone might do it anyways. The Mark All option should probably be removed / disabled while Auto-Trade is on.


  • The "needs attention" filter has a number next to it indicating how many card name conflicts* are present. However, this number does not update correctly when a card is added to your inventory or to a built deck. The card does indeed get added to the "needs attention" filter, but the filter's count is NOT updated to reflect the new card. This is workable as long as there's other cards that already needed attention, because you can click the filter link and will see the uncounted new cards. It becomes a problem, though, once you've resolved all the conflicts, because then the link is no longer displayed and you won't be alerted to any conflicts with new cards.


    * The number does not reflect the total number of unique versions. If you have 12 different versions of Forest, they will still only be counted as 1 conflict.

120

(46 replies, posted in Announcements)

UPDATE

Scryfall has now implemented its solution, which is honestly one I didn't even think of: They kept the etched variants part of the main Mystical Archives edition, but gave them unique (made-up) collector numbers (as in, not printed on the physical cards) by appending an "e" to the number. E.g. You have Counterspell #15 (for regular and foil) and Counterspell #15e (for foil-etched).

As a purist, I dislike this solution for the same reasons I dislike appending "(Foil Etched)" to the card name a la TCGPlayer, or creating a fake edition like Mystical Archive Foil Etched. However, as a pragmatist, I can see how this solves the problem without causing any practical issues.

Unfortunately, Deckbox's current database schema doesn't support non-integer collector numbers. This has caused Sebi problems in the past, notably in the edition Unstable, which featured a LOT of cards that had the same name and collector number, yet had different rules text / flavor text / artwork. Same is true for the cards I mentioned before, like ZEN and BFZ basic lands (should have e.g. both #250 and #250a) and Tahngarth, Talruum Hero (should have #74 and #74★). Sebi's solution for Unstable was to append parenthetical indicators to the card's name (not preferred long-term). In contrast, his solution for ZEN basics was to use "made-up" collector numbers beyond 249, while for BFZ, he did not do this, so the versions get mixed up upon CSV import.

I still believe a foil-etched flag, that can be linked to a pricing source, is the best solution. Scryfall doesn't utilize flags in this way, so the solution they came up with is likely the only one that would work for them. That said, if Sebi finds adding the foil-etched flag to be too difficult in the current database setup, then using "made-up" collector numbers would be an acceptable solution. Changing his database tables from INT to VARCHAR for the collector number would be more ideal long-term, but again, if that would present too many difficulties, then utilizing collector numbers beyond what Wizards uses (so #127 - #252 in the case of Mystical Archives) would still allow CSV imports to differentiate between the variants, unlike what happens with BFZ basics.

TL;DR — A foil-etched flag is still the best solution for Deckbox's unique interface, but implementing unique collector numbers like Scryfall has done can work too. If Sebi wants to do it like Scryfall, then he has to change the collector number's data type in his database. Otherwise, he will have to use collector numbers outside of the official Wizards ones.

121

(46 replies, posted in Announcements)

Celtic68 wrote:

I came across a few tokens from Strixhaven that does not appear to be supported: [...] Likely I am just missing something, but I thought I would ask here...

You're not missing anything. Sebi just hasn't had a chance to get the tokens imported yet. Should be soon.

122

(4 replies, posted in Site Discussion)

Calgary_Trade_MTG wrote:

The topic is about blocking as a standard feature, meaning not just a premium feature.

Ah, I apologize, that wasn't clear. "Non-premium" is probably a better wording for the title than "standard".

In any case, you're totally right. Back when I had a non-premium account, I had always seen the "Block" link over there on the left and always just assumed I could do it, since it didn't have a premium icon next to it. But nope! Not available.  :\

In which case, I totally agree with your position on the matter. Even not considering trading, any website that allows community interactions (friending, messaging, profiles, commenting) should include blocking as one of its most basic features, to ensure all users can interact safely and comfortably. The fact that business transactions (i.e. trading) can also be completed, which are far more important to keep safe than simple social interactions, only increases the importance of a blocking feature for all users.

123

(4 replies, posted in Site Discussion)

Calgary_Trade_MTG wrote:

It would be nice to be able to block those traders that look for under valued cards based on deckbox's pricing and propose borderline if not outright scuzzy trades, I'd like to ensure I will never trade with them in the future. Seems like this could be a standard feature as trading itself is also a standard feature.

I feel like I may be misunderstanding what you're proposing. Blocking is already an available feature, and that stops someone from proposing trades with you. It also prevents you from accidentally proposing trades with someone you were wanting to avoid.

I just tested it out on a couple users who have cards in my wishlist. Blocked them and they disappeared from Trading Opportunities, unblocked them and they came back.

kjzlo wrote:

I there any option for dividing time spiral remastered into two sets (new fram and old frame) -"time spiral remastered" and "time spiral remastered timeshifted" like original Time spiral ?

Short answer: No, this shouldn't be done.

Long answer: The difference is that OG Time Spiral and Time Spiral "Timeshifted" are two officially different editions, with separate collector number sequencing (both starting at 1) and edition identification within Wizard's Gatherer database. In contrast, Time Spiral Remastered and the old-border cards it contains are all of one edition with continuous collector number sequencing -- the old-border cards begin at #290, following the main set's numbers. Deckbox's database needs to reflect accurate edition information where possible (notwithstanding oddities like promos and tokens, which sometimes require a bit of creativity, as there's no official Gatherer cataloguing of many of them).

What you're asking for is something similar to Scryfall's frame:old filter (and related frame-treatment filters). You're querying a card's style, not its set/edition.

125

(2 replies, posted in Site Discussion)

Unfortunately, no, there's no filter that can search for X is the casting cost.

However, you can somewhat easily search your inventory without having to scan pages and pages of cards. On your Inventory page, go to Tools > Export, choose Extra Columns > Cost, then export. Open it in Excel (or an equivalent spreadsheet program), and turn on Filter. On the Cost column, go to Text Filters > Contains and filter for {X}. Not as fast as a native filter on the website.... but took me less than a minute to do all the steps! Takes even less if you already have a CSV of your inventory already exported (which I always recommend).