Commit Graph

78 Commits

Author SHA1 Message Date
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
Teemu Patja d35b794ca4
New UX, webhook securing, atomic repo toggling etc.
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
2017-02-18 11:07:51 +02:00
Teemu Patja 6e646280c2
WIP: new UX
* 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
2017-02-12 22:25:32 +02:00
Teemu Patja e036778932
Fix first-time sign in issue
db/create-user! now returns a map with the created data instead of a
number, as expected by the client side.

Fixes: #4
2017-01-15 22:26:33 +02:00
kagel e68891a936 `send` button now reflects tx status + display some errors 2016-10-04 03:13:43 +03:00