If our smart contract is used as designed for payout (first commiteth
bot executes confirmTransaction() with a withdrawEverything call in
payload and then the repo owner calls confirmTransaction() with the
returned tx-id) the contract fails when executing, but confirming
succeeds. Because of this, we now look for contracts that have been
confirmed by both and that still have ETH and/or tokens, and call
executeTransaction() for those.
This needs testing.
* make activity feed items and open bounties view show badges for ETH
and tokems and total USD in item description
* make top hunters work based on total USD value paid out in bounties
* upgrade lein-cljsbuild
Recover from situation where Commit ETH bot account's ETH balance runs out and gets replenished by re-deploying contracts that were not actually written to the blockchain.
Fixes: #58
* status team membership restriction auth-rule
* HTTP API method + db query
* set whole session to nil in /logout
* simple UI view showing chart of registered + active users
* require only user:email oauth scope when signing up
* if user wants to set bounties on repos, request additional oauth
scopes
* do not store github access tokens on server side and use client-side
localStorage instead
Fixes: #35Fixes: #40
* update comment for a bounty issue when a PR is selected as the
winning claim by merging
* fixed bug in pending-bounties causing first PR referencing a bounty
issue to be considered as winning claim
Fixes: #44
* add simple tab for showing all open bounties (#37). Probably needs
some UX improvements
* rename old "bounties" tab to "manage payouts"
* fix issues in db migration
For bounty related activity feed items:
* show full repository name in activity item title instead of admin name
* show owner avatar instead of admin avatar
Fixes: #41
Error handling improvements
* show error message on UI in case repo toggling fails
* eliminate possibility of creating multiple webhooks
Store comment PNG for all balances of a bounty (Fixes: #22)
* include balance in computation of verification hash for image request
* store hash in db
Refactoring
* use 'owner' for a repo owner everywhere instead of 'login'
Minor
* move cider dependencies to top-level in project file to avoid errors
with tests and migratus
* backend support for activity feed
* partial frontend support (still needs work)
* save issue modification timestamp to db
* rename commit-id -> commit-sha everywhere for consistency
* "No data" texts for UI collections when no data exists
Changes to bounty/pull-request data model and logic
* save git sha of pull request's HEAD instead of possible merge commit
and save it for opened, merged and closed events
* only look for bounties being accepted in pull-request closed via
merge events (no need for compilicated logic with issue-closed event)
* pull_request now has issue_id column to make many sql queries
simpler
Frontend
* owner-bounties app-db structure changes
* bounties view with confirm pending payout UI
Other
* removed lots of unused legacy code
* bug fixes + refactoring
* added comments + TODOs
* store pull-requests to DB also when opened instead of only when
merged to allow for showing bounty claims
* refactor SQL queries
* look for PR keywords also in title
* improve PR keyword regexes
* removed old swing JEditorPane based html to png rendering due to
it's lack of support for modern css
* new implementation uses wkhtmltoimage (on prod server via wrapper
script using xvfb)
* no longer generating image on every GET request for QR, but rather
generating image when a bounty is cretaed or contract balance
changes
* images stored to DB
* comment image design updated according to UI spec
Secure Github webhooks (Fixes#18)
* Use a unique random secret for webhooks
* Validate payload signature when receiving webhook
Make enabling + disabling a repo more robust
* store repository state instead of enabled flag in DB
* atomic toggle UI button (Fixes#17)
New UX for managing repos
* group repos by owner
* look and feel according to UI spec
General improvements
* only request user's repos via Github API once per session
* fix issue with cljs code figwheel reload
* simplify app-db structure
* semantic UI + less based UI styling
* header, tabs, user-profile component
* store avatar URL in DB, show image in user
* unify :user and :user-profile in app-db for simplicity
* Use SQL data type timestamp for users.created and
repositories.updated since we want to store datetimes, not time of
day
* Fix :migration-dir in project file
Fixes: #15