Commit Graph

226 Commits

Author SHA1 Message Date
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 020f9cdc5d
Gather usage metrics to db table with sql trigger 2017-03-17 23:17:29 +02:00
Teemu Patja 75d1da8a7a
Include commit sha in app.js URL to avoid stale caches
Fixes: #24
2017-03-17 23:17:29 +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 23de712604
Embed svg in cljs code
* move external svg image for dropdown into cljs code to avoid extra
  http requests
2017-03-16 22:44:34 +02:00
Teemu Patja 3cd11d4044
Cache busting for css 2017-03-15 16:23:42 +02:00
Teemu Patja f41247e5a0
Include commit sha in app.js URL to avoid stale caches
Fixes: #24
2017-03-15 12:29:02 +02:00
Teemu Patja a2fc249a62
Remove inline style attribute from <html>
* remove unwanted style attribute from <html> tag (Fixes: #34)
* define lang to make screenreaders happy
2017-03-15 10:03:50 +02:00
Teemu Patja e2fa46c250
Add ga script to template 2017-03-14 17:24:46 +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 b788f91149
Improve query for bounty-claim events in activity feed
* include pull-requests in activity feed that have been merged but are
  pending maintainer confirmation or bounty hunter to save own
  ethereum address
2017-03-12 19:06:51 +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 2d788cad32
Fix issues with showing version footer in uberjar
* re-implement getting git HEAD sha to cljs side due to system
  properties not containing project version in uberjar profile
2017-03-09 15:47:29 +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 331b227f5e
Fix problem in db migration 2017-03-03 16:44:59 +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 1ad6fb3b93
Inline logo svg, remove old svg's 2017-02-23 18:52:14 +02:00
Teemu Patja b112155134
Add debug logging, add forgotten column constraint 2017-02-23 13:23:20 +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 6fc8702a34
Move inline SVG hiccup to separate module 2017-02-11 14:53:32 +02:00
Teemu Patja 441ed2a022
Remove primer-css + sassc dependency 2017-02-05 20:10:00 +02:00
Teemu Patja da7107ce87
Upgrade dependencies, use CDN for bootstrap + fa 2017-01-30 20:33:25 +02:00
Teemu Patja 0192adf419
Remove unused template 2017-01-25 10:27:39 +02:00
Teemu Patja 4a25923454
Fix favicon path 2017-01-25 09:53:30 +02:00
Teemu Patja c8d67be3eb
Add new logo favicon 2017-01-24 22:34:45 +02:00
Teemu Patja 8cb5995d5a
Use SQL timestamp instead of time
* 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
2017-01-21 18:06:37 +02:00
Teemu Patja afce955ff3
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.
* fixed broken test

Fixes: #4
2017-01-20 20:36:24 +02:00
kagel e68891a936 `send` button now reflects tx status + display some errors 2016-10-04 03:13:43 +03:00
kagel 401f8dcf8c Fix multisig wallet payout flow 2016-10-01 15:29:18 +03:00
kagel 2f6a835bba Display only open bounties on the main page 2016-09-30 00:44:51 +03:00
kagel 833953edc6 Update multisig wallet contract code 2016-09-25 14:49:18 +03:00
kagel 49dcdc0515 Confirm multisig transaction using web3 2016-09-22 03:45:06 +03:00
kagel 561d852a38 update-contract-address bugfix 2016-09-22 03:45:06 +03:00
kagel c414b503ed Add primer-css (temporarily) 2016-09-19 23:27:24 +03:00
kagel 4079bd398d New look 2016-09-19 23:26:57 +03:00
kagel bce7ef436a Various bugfixes:
* extra newline in contract data
* insufficient gas
* wrong headless image generation
* stop scheduler threads on exit
etc.
2016-09-18 23:43:38 +03:00
G14 c0e4f51069 add html and scss files 2016-09-18 21:55:02 +05:00
kagel 51b8fa87ff Automatically add the "bounty" label to a repository
fixes #2
2016-09-14 02:29:39 +03:00
kagel 7fb0f9ddae Update github comment only when balance changes 2016-09-13 19:50:04 +03:00
kagel a87b8bb56e Fix hugsql comment 2016-09-12 19:50:32 +03:00
kagel 8fb363218a Edit github comment on balance update 2016-09-12 19:44:29 +03:00
kagel 397b3259b1 Embed balance and issue number into QR image 2016-09-12 02:15:59 +03:00
kagel e8c9d618aa Prevent QR code cheating 2016-09-10 09:50:13 +03:00
kagel c1af7788eb Sign transaction 2016-09-10 02:06:56 +03:00
kagel fcbf26e775 Add multisig wallet owners 2016-09-09 03:35:28 +03:00
kagel d404e7d34f Post a comment with balance and QR code 2016-09-07 03:20:17 +03:00
kagel 26c67a59f1 No need to compile contract each time 2016-09-06 13:30:05 +03:00
kagel 4e8a5148d5 * deploy multisig contract bytecode
* check for transaction receipt every 5 minutes
2016-09-06 03:18:33 +03:00
kagel e1c7b08174 Bugfix 2016-09-01 02:24:00 +03:00
kagel 99705264ea Another bugfix 2016-08-31 04:49:26 +03:00
kagel fceac393a4 Rename migrations 2016-08-31 03:00:34 +03:00
kagel fdfaafc2c1 Get rid of parents and merge_commit_sha 2016-08-31 00:45:25 +03:00
kagel 520e5e34e4 Prepare for deployment + bugfixes
Add empty css directory (again)

Remove sassc hook (Heroku)
2016-08-30 01:40:10 +03:00
kagel 7f6cb564a0 Display issues list 2016-08-29 01:16:08 +03:00
kagel 4a5196987b Issue and PR webhooks 2016-08-28 23:16:45 +03:00
kagel a6459a2a32 Handle issue labeling via github webhooks 2016-08-26 04:10:05 +03:00
kagel b29eaaaf80 Repositories list 2016-08-25 01:46:29 +03:00
kagel b4eb921361 UI fix 2016-08-23 15:22:38 +03:00
kagel 601465ad39 Update user address 2016-08-23 02:27:49 +03:00
kagel 8cd7f7705c Buddy session 2016-08-22 22:38:10 +03:00
kagel baf07a21ec Persist user 2016-08-22 03:22:39 +03:00
kagel 0382fa9888 Github integration hello-world 2016-08-21 03:29:39 +03:00
kagel 7e8d0f1f0b Initial database structure 2016-08-21 00:36:30 +03:00
kagel c4bab5a6ed Luminus skeleton + useless github button 2016-08-21 00:36:09 +03:00