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
* include contract address in github comment
* set cache-control: no-cache header for QR image response to avoid
caching on Github's side. Also no longer including balance in
comment hash function.
Fixes: #16
Previously the QR image did not get updated when the contract balance
changed and we generated a new one. This happened because Github
caches external images and our image's URL did not change after
updating. Now we generate the QR image hash based on also the balance,
so the URL changes when balance is updated.
Fixes: #13
Previously the user's email did not get saved to the db unless it was
defined as public in the profile. This commit adds an additional oauth
scope for accessing the user's emails, and the user's primary email
address is saved to the db.
* Fix geth json-rpc errors caused by non-hex encoded integer
parameters and nil :to parameter
* use personal_getTransaction instead of
personal_signAndSendTransaction used by geth < 1.5
Now repositories are shown with their full name ('<org/user>/repo'
instead of 'repo') and it is possible to add bounties for both
user repositories and organization repositories. Using org repos
requires the user to have admin rights to the repo.