To Do

Order of entries does not imply importance :)

iDB

  • Remove Team Errors log, consolidate into 1 team-wide log and utilize INFO/WARN/ERROR log levels
  • Add interface for recursively exploring packs, with counts for each realm/database combination
  • Sync specific databases across servers, allowing suppliers to work with multiple iDB-based shops
  • Allow logger to figure out soft/hardcore and classic/expansion after getting to character select
  • Add new Code Type SpecialAnyEven (similar to SpecialAny) to take evenly from each sub-code in the list
  • Add new Code Type SpecialAutoDelete with Match like Hash = ... to allow temporary codes to be built around rares, etc that auto-delete when stock reaches 0 (add button to Items window to help building these)
  • Pickup Jobs:
    • Allow to continue where left off (store recently created acc/char somewhere), review acc/char prefix and naming
    • Allow to create game (currently can only join games)
  • Special Jobs:
    • Socket Quest
    • Imbue Quest
    • Gold Drop
    • Identify (piggyback off characters with gold)
    • Auto-Gear:
      • Specify name / minimum gold / merc / stats / skills / gear / merc gear / inventory
      • Realm / acc / pw / charname
      • When char join game, first it will make game on nightmare buy merc act 2 def aura then make new game in normal, drop all inventory/stash/cube/merc
      • Do stats/skill, buy tp book, then it asks iDB for the gear pack ID, say 700000, droppers bring the items which are then equipped (identifying any unids)
    • Full-Drop (drops inventory, stash, cube, mercenary)
  • Add new processor for performing full perms of accounts (integration of PermIt)
  • Add new processor for condensing characters with half-full inventories, attempting to smartly reduce number of accounts
  • Add per-realm priority for each database
  • Add Display Index to Codes to allow sorting differently
  • Builder:
    • Allow for replacement builder to bypass builder limits
    • Make it able to make new accounts / characters
    • Try not to queue up cube if database reports builder might already have it
    • Balance new requests between available builders, instead of filling one-by-one
    • Add proper handling if replacement builder ends up not having space
    • Builder log improvements (database usage, etc)
    • Droppers for build jobs getting flagged if they have XX of same ingredient (eg. rune) on them because they keep rejoining the same game like 40 times
      • Solution 1: Stay in game, peeking at next request continually and staying as long as we have the ingredients that the next request needs. Will cause issues because other builders could be waiting for that char. Might have recipe with 6 ingredients and dropper limit of 4 per game, so will have to make droppers bypass 'Dropper Limit Per Game' if they are sitting in game.
      • Solution 2: Disperse runes beforehand in a preparation job. (check for chars with large # of same rune/gem and offer to split, allow new target db, also think about splitting rare/crafts into separate db)
    • preferredCharacterId when different from/to database
    • Add reroll mode (hel+tp and then socket)
    • Add functionality to hide certain accounts from builder usage (anni/torch accounts, etc)
  • Auto-publish one or more Codes to web shop (with item category, description, picture, thumbnail, etc)
  • Collage support for item images
  • Add storage for leveled / rushed characters that can be delivered (password change, etc)
  • Kolbot pickit helper that subscribes to iDB for stock updates and comments/uncomments pickit lines out
Technical:
  • Rework AddProducts so it can report back to builder what was missing if the build job fails
  • Add background job to clean out old ItemDescription rows, consider splitting into separate db file to avoid bloat
  • Add CTRL+Backspace and CTRL+Delete support everywhere
  • Better Order and Module synchronization with thread-safe state machine
  • Smart paging for Orders (no max page, etc)

iDB-Web

  • Search rewrite:
    • Separate tabs for searching by Code and searching by Item
    • Instant codes filtering
    • Full filter support for item search including:
      • Item Level (min/max)
      • Sockets (min/max)
      • Used Sockets (min/max)
      • Type
      • Kind
      • Quality
      • Identified
      • Ethereal
      • Pickit
      • ..
  • Back-to-top button
  • Allow paging changes (25/50/100/500/1000/10000)
  • Add tooltip to each code showing the pickit
  • Drop / Log logs:
    • Button to cancel active jobs
    • Button to re-add to cart
    • Smart paging, don't calculate max page #
  • Add comment field and/or FG field when dropping
  • Dashboard:
    • Items in queue (total in our scope)
    • Items in queue (per database in our scope)
    • Items in queue (per user in our scope)
    • Status of each dropper (logging in, in lobby, joining game, dropping items, etc)
  • Add Builder interface
  • Add Pickup interface
  • Banner message for admins / managers to display to their users
  • When adding registration code, allow more flexibility like immediate configuration of quota, database access, etc
  • Restrictions:
    • Import / export
    • Allow using Codes as Restrictions
  • Extra status indicator for whether iDB is on and accepting new drop requests
  • Reports:
    • Last 12/24h ingested items summary (how many of which codes, how many total items)
    • Accounts/characters with socket quest

iDB-ShopDrop / AutoShop

  • Add the log to the iDB UI right under Team-wide log
  • Improve ShopDrop / AutoShop UI by adding a search / filter
  • Setup automatic emails in case of delivery problems
  • Store full logs somewhere separate so diagnosis is easy
  • Allow multiple users to run their shop from one iDB instance, and for each user they can specify any number of realms & databases
  • Store drop logs just like web shop orders are stored (including replay button in case iDB shut off while delivering)
  • Web interface for management (pricing at very least)

PermIt

  • Notify iDB before and after using an account to avoid simultaneous use (locking items)

rDB

  • Full rewrite:
    • Use proper database (SQLite, PostgreSQL)
    • UI updates every few seconds instead of being directly tied to data
    • Entities to consider: realm, account, character, cdkey, proxy, action (entering game, changing character, changing password, etc)
    • Limit per hour, 12 hours, 24 hours
    • Risk profiles
    • Allow unlinking classic from expansion keys
    • Allow linking keys to proxies
  • Add more clarity around type of flag / ban
  • rDB requests should be in a queue, so that 1 module doesn't get stuck forever (not easy because 2nd place module might have different access to resources)
  • Change LimitId to just be the text (don't need numbers)
  • Allow bulk editing comment field
  • Show countdown for next use
  • Turn limits into groupings of proxies and allow separate configuration (delays, no activity for 30 sec = clean, 10 min session limit, etc) for each group of proxies (useful for mixing backconnect proxies with regular)