* Award badges for market creation, betting streaks, proven correct
* Styling
* Add minimum unique bettors for proven correct
* Add name, refactor
* Add notifications for badge awards
* Correct styling
* Need at least 3 unique bettors for market maker badge
* Lint
* Switch to badges_awarded
* Don't include n/a resolutions in market creator badge
* Add badges by rarities to profile
* Show badges on profile, soon on market page
* Add achievements to new user
* Backfill all users badges
* Denormalize user display fields onto bets
* Make bet denormalization script fast enough to run it on prod
* Make `placeBet`/`sellShares` immediately post denormalized info
* Members and contracts now documents
* undo loans change?
* Handle closed group
* Slight refactoring
* Don't allow modification of private groups contracts
* Add back in numMembers
* Update group field names
* Update firestore rules
* Update firestore rules
* Handle updated groups
* update start numbers
* Lint
* Lint
* Convert useUserBets to react query
* Fix duplicate key warnings
* Fix react-query workaround to use refetchOnMount: always'
* Use react query for portfolio history
* Fix useUserBet workaround
* Script to back fill unique bettors in all contracts
* React query for user bet contracts, using uniqueBettorsId!
* Prefetch user bets / portfolio data
* Allow to follow/unfollow markets, backfill as well
* remove yarn script edit
* add decrement comment
* Lint
* Decrement follow count on unfollow
* Follow/unfollow button logic
* Unfollow/follow => heart
* Add user to followers in place-bet and sell-shares
* Add tracking
* Show contract follow modal for first time following
* Increment follower count as well
* Remove add follow from bet trigger
* restore on-create-bet
* Add pubsub to dev.sh, show heart on FR, remove from answer trigger
* Make `groupConsecutive` more capable
* Put denormalized `contractQuestion` and `contractSlug` on comments
* Update user profile UI to use new denormalized fields
* `/Austin` -> `/market`
* Move concurrently dep upwards
* Add express as explicit dependency
* Accept just one HTTP method per endpoint
* Fix endpoint option coalescing
* Expressification of cloud functions
* Nicer logging of API requests
* Refactor web package.json
* Add ts-node and nodemon to dev dependencies, bring back cors
* Add scaffolding to point dev server at local functions
* Enable emulator in dev server scaffolding
* Fix up a little stuff I broke
* start on script
* Revert "Remove category filters"
This reverts commit d6e808e1a3.
* Convert categories to official default groups
* Add new users to default groups
* Rework group cards
* Cleanup
* Add unique bettors to contract and sort by them
* Most bettors to most popular
* Unused vars
* Track unique bettor ids on contracts
* Add followed users' bets to personal markets
* Add new users to welcome, bugs, and updates groups
* Add users to fewer default cats
* Update resolve-market to be a v2 function
* Cleanup API error responses
* Update frontend to use v2 version of resolvemarket
* Appease ESLint
* Address review comments
* Appease ESLint
* Remove unnecessary auth check
* Fix logic bug in FR market validation
* Make it so you can specify runtime opts for v2 functions
* Cleanup to resolve market API resolutions input, fixes
* Fix up tiny lint
* Last minute cleanup to resolvemarket FR API input validation
Co-authored-by: Benjamin <ben@congdon.dev>