187 Commits

Author SHA1 Message Date
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
51ccf7ce34
Fixed bug related to org owned repos
* store org name as owner instead of logged in user when toggling a
  repo
2017-03-01 15:54:29 +02:00
Teemu Patja
07b61ee9c8
Add content-type to json-rpc post to make parity happy 2017-02-28 20:22:13 +02:00
Teemu Patja
6e108a088d
Make uberjar nrepl emacs friendly
* replace luminus nrepl with cider nrepl
+ minor cleanup
2017-02-28 14:03:33 +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
9149a5a985
Store bounty balances as decimal instead of 0x string 2017-02-25 14:44:29 +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
9cb1028c16
Debug logging 2017-02-23 13:48:11 +02:00
Teemu Patja
b112155134
Add debug logging, add forgotten column constraint 2017-02-23 13:23:20 +02:00
Teemu Patja
66a65277ae
Remove broken + unneeded /docs route 2017-02-22 22:54:48 +02:00
Teemu Patja
0b69459638
Do not checksum validate address by default
* make checksum validation optional in valid-address?
* update test
2017-02-22 21:51:47 +02:00
Teemu Patja
b868996308
Do not expose user's email addresses to client side, rename parameter 2017-02-22 19:46:11 +02:00
Teemu Patja
f932b3705d
Do not leak Github API access token to client side 2017-02-22 10:47:53 +02:00
Teemu Patja
4e627be1e0
UX improvements + address validation
* error/success flash notification support
* disable spellcheck for address editbox
* validate user's Ethereum address when saving
* update button state styles
2017-02-21 21:43:35 +02:00
Teemu Patja
1663669163
Ethereum address validation + unit test
* utility function for validate Ethereum addresses
* unit test
2017-02-21 21:41:39 +02:00
Teemu Patja
f383ab9a0d
Fix build errors + problem with webhook routes
* remove unnecessary servlet context middleware
* do not apply unnecessary ring middleware to webhook routes
2017-02-21 14:55:40 +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
7ce1dc6cdc
Fix bug in handle-issue-labeled + logging 2017-02-19 14:33:02 +02:00
Teemu Patja
0fef7d931d
Add forgotten file 2017-02-19 14:32:13 +02:00
Teemu Patja
416178cf0a
Guard against invalid QR code requests 2017-02-19 11:01:02 +02:00
Teemu Patja
e265e967e2
Fix regression + UI tweaks 2017-02-18 22:46:59 +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
c60db00f6d
Reorganize API endpoints 2017-01-30 21:26:02 +02:00
Teemu Patja
40f3bc0de4
Move gzip middleware to a better place 2017-01-30 17:45:45 +02:00
Teemu Patja
7f90f38b1e
Gzip compress all HTTP content 2017-01-28 09:29:22 +02:00
Teemu Patja
8812157789
Optimization: only provide needed repo map keys 2017-01-28 09:12:08 +02:00
Teemu Patja
c12e5d1311
Contract-address to comment field + disable QR image caching
* 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
2017-01-22 12:26:32 +02:00
Teemu Patja
985b72754d
Create bounties for existing issues when enabling a repository
* Create bounties for existing bounty-tagged issues when a repository is
toggled on
* added commiteth.bounties ns for sharing code

Fixes: #12
2017-01-22 11:10:40 +02:00
Teemu Patja
f89a83ea32
Create github issue label with different color 2017-01-22 07:57:05 +02:00
Teemu Patja
1c26d17ad9
Run pending DB migrations at startup
Run pending DB migrations at startup to make deployement
simpler (eliminates need to clone repo and run "lein migratus migrate"
on the server)
2017-01-21 19:14:12 +02:00
Teemu Patja
5d704b626e
Fix QR image update issue
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
2017-01-20 23:34:50 +02:00
Teemu Patja
b3909f4e60
Fix saving of users' email
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.
2017-01-20 23:34:40 +02:00
Teemu Patja
480d85f6b5
Fix bugs in ethereum module
* 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
2017-01-20 20:36:24 +02:00
Teemu Patja
60cc76919e
Add support for using org repos
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.
2017-01-20 20:36:18 +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
1110f5817d Fix tentacles edit-comment method 2016-09-30 20:10:33 +03:00
kagel
369d45ef51 Fix multisig wallet execute method 2016-09-30 20:02:28 +03:00
kagel
4a009a09e8 Strange Mist behaviour workaround 2016-09-30 01:52:40 +03:00
kagel
e8375418d7 Wildfly workaround: reuse named scheduler thread between deployments 2016-09-29 17:27:20 +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
6d8ad78bfd Display balance in ETH + stop scheduler threads on exit 2016-09-22 03:45:06 +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
kagel
4618662203 Another bugfix 2016-09-15 17:56:29 +03:00