Commit Graph

82 Commits

Author SHA1 Message Date
Teemu Patja 78547c410e
Fix bug related to USD value updating
Only update USD value for bounties that have not been signed off by
SOB to avoid USD value being incorrectly set to 0.
2017-12-04 12:50:39 +02:00
Teemu Patja 48f2d024fe
Show pending payouts with missing address in activity 2017-11-09 17:01:46 +02:00
Teemu Patja 0619b4b519
Show claim count for bounty if > 0
Show number of claims for an issue in "open issues" view if there are
any. Styling may need improvement.

Related to issue #154
2017-11-08 12:38:22 +02:00
Teemu Patja 39d661feff
Fix confirmed-payouts query
Fixes this use case:
- two competing claims
- one merged and signed-off
-> GH paid comment shows wrong username in
2017-11-07 18:16:38 +02:00
Teemu Patja 397d74e670
Fix balance update criteria
Include issue.is_open status when considering a bounty open.

Fixes: #151
2017-11-07 13:47:32 +02:00
Teemu Patja f0c978ec47
Only update USD value to unconfirmed bounties
Fixes: #148
2017-11-04 18:57:33 +02:00
Teemu Patja d806e38433
Remove PR -> issue link if comment removed
If "Fixes: #NN" is removed from PR title/description, no longer
consider it a claim for any issue.
2017-11-03 12:35:42 +02:00
Teemu Patja 81c24b5793
SQL fix related to PR edited webhook 2017-11-02 23:14:42 +02:00
Teemu Patja 5f3c4a7a3c
Fix query typo 2017-11-02 16:39:59 +02:00
Teemu Patja be6b3809c5
Simpler way of storing winner login 2017-11-02 15:48:40 +02:00
Teemu Patja ec2ac80478
Include winner in /user-bounties data & show on manage payouts
* include user-id, login and name of bounty winner in /user-bounties
  data
* show (paid to <github-username>) instead of (paid) on manage
  payouts view
2017-11-02 12:41:27 +02:00
Oskar Thorén abac3f5cdb Max limit back to 2; make issues count more restrictive 2017-10-31 14:50:27 -05:00
Oskar Thorén ee096a6ceb Introduce maybe-add-bounty-for-issue to limit max added 2017-10-31 12:05:41 -05:00
Teemu Patja dbc85fe8be
Sort open bounties only by updated timestamp 2017-10-30 22:19:01 +02:00
Teemu Patja 8f8ff22d8a
Fix open-bounties query 2017-10-29 20:05:51 +02:00
Teemu Patja 7aa8205115
DB support tracking welcome email sends 2017-10-28 21:10:09 +03:00
Teemu Patja 785d5fb8e5
Show username in top-hunters in case display name not set 2017-10-25 14:56:24 +03:00
Teemu Patja 0476b8c1ea
Fault tolerance for payout confirmal
* if a payout transaction sent by repo admin from cljs does not get
  mined within 3 hours, consider it as failed and re-enable confirm
  button

Fixes: #94
2017-09-15 10:24:55 +03:00
Teemu Patja c17763bf2d
Fix bug in is-bounty-issue?, update docstring 2017-09-13 11:20:11 +03:00
Teemu Patja 6522265f7d
Never show closed github issues as open bounties
* do not show a bounty issue in open bounties listing or activity feed
  items in case it was closed (manually or via PR)

Fixes: #95
2017-09-13 11:11:37 +03:00
Teemu Patja 11d2c6e4ce
Workaround for smart contract issue related to payouts
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.
2017-08-31 11:33:08 +03:00
Teemu Patja 584f742de9
Show tokens, ETH and USD value on UI
* 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
2017-08-23 23:48:59 +03:00
Teemu Patja 31d8a07b97
Keep track of USD value update datetime in DB 2017-08-22 22:15:40 +03:00
Teemu Patja 9cfd27a0b6
Periodicically update bounty total USD values to DB
* peridic updating of total USD value for open bounties
* support 1 and 10 minute interval tasks in scheduler
2017-08-22 20:31:21 +03:00
Teemu Patja f8d00196d6
DB storage for token balances
* store token bounties to DB when changed
* added some TODOs
2017-08-22 16:45:10 +03:00
Teemu Patja b2cd1886f6
DB changes for bounty USD value + token support
* rename balance -> balance_eth
* add tokens jsonb column
* add value_usd column
* update existing SQL
2017-08-19 22:41:41 +03:00
Teemu Patja d435b0b723
Show unmined pending payouts as disabled on UI
Fixes: #70
2017-06-13 19:26:48 +03:00
Teemu Patja 4061f0c5b3
Keep bounty issue titles up-to-date with github
* update changed bounty issue titles at startup
* update changed issue title in issue edited webhook handler

Fixes: #67
2017-06-13 10:26:22 +03:00
Teemu Patja a4e4a80f31
SQL fix 2017-05-31 11:27:48 +03:00
Teemu Patja 7285987292
Improve recovery mechanism
Only consider un-mined contract deployments older than 1 hour as
failed
2017-05-31 10:44:45 +03:00
Teemu Patja c5cc94fd81
SQL fix 2017-05-31 10:02:07 +03:00
Teemu Patja f171259ed4
Recover from bot account ETH balance running out
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
2017-05-31 09:32:46 +03:00
Teemu Patja f391330f58
Usage metrics view for status team members
* 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
2017-04-06 22:52:11 +03:00
Teemu Patja c2b6857a65
Fix crash when creating user 2017-03-23 08:29:40 +02:00
Teemu Patja 3f0ff567a8
Progressive Github permissioning & client-side oauth tokens
* 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: #35
Fixes: #40
2017-03-22 22:20:52 +02:00
Teemu Patja 35df02edea
Update bounty issue comment on PR merge
* 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
2017-03-19 22:13:09 +02:00
Teemu Patja bf028991e8
Update bounty issue comment after payout
* update bounty issue comment to indicate the bounty has been paid out
* minor refactoring

Fixes: #36
2017-03-19 17:10:56 +02:00
Teemu Patja b4f3d9e5c2
Improve naming 2017-03-19 16:07:42 +02:00
Teemu Patja b25e01f14d
Simple "open bounties" view
* 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
2017-03-17 23:17:30 +02:00
Teemu Patja 3ba4956a78
Show bounty open & balance update feed items in context of repo
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
2017-03-16 22:44:34 +02:00
Teemu Patja f0f7bf9c7d
Scheduled task for re-deploying failed bounty contracts
* as a secondary pre-caution, look for bounty issues where the deploy
  contract transaction has failed and re-deploy the contract

(Fixes #32)
2017-03-12 19:50:05 +02:00
Teemu Patja 01f1bffd77
Store payout receipt as postgresql jsonb
* store bounty payout receipt as a jsonb object in the database
  instead of a varchar containing json
2017-03-10 20:23:14 +02:00
Teemu Patja c93326e874
Post "deploying contract" image
Post a PNG image informing that the bounty contract is being deployed
immediately after bounty label.

Fixes: #26
2017-03-06 20:33:42 +02:00
Teemu Patja 9f010648aa
Error handling improvements, #22 fix & more
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
2017-03-02 10:51:18 +02:00
Teemu Patja 211cc96c90
Activity feed + UI tweaks
* finish missing parts of activity feed feature
* render time ago labels with moment.js
* css tweaks
2017-02-27 22:38:41 +02:00
Teemu Patja 2599b85d41
WIP: Activity feed feature
* 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
2017-02-26 23:43:57 +02:00
Teemu Patja c33fb858f9
"Top Hunters" feature + more
* frontend + backend support for top hunters
* fix issues with bounties view
* logging
* cleanup
2017-02-26 16:14:39 +02:00
Teemu Patja 9cb48b5183
Bounties view + related backend functionality & more
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
2017-02-25 00:15:44 +02:00
Teemu Patja ec5f07a578
DB query refactoring, save PRs also when opened
* 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
2017-02-24 11:05:13 +02:00
Teemu Patja 9b972625e0
Rewrite Github comment PNG functionality
* 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
2017-02-21 10:49:25 +02:00