Teemu Patja
3d7cf03263
#37 : add forgotten file
2017-03-17 23:27:51 +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
a3ec1591b5
Show fork icon for forks in repos view
2017-03-16 22:44:34 +02:00
Teemu Patja
05944b5c88
Update dependencies, fix cljsbuild warning
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
66d6dd37fd
Allow enabling forked repos
...
(Fixes : #42 )
2017-03-15 19:06:27 +02:00
Teemu Patja
d17b207064
Remove forgotten debug fn's
2017-03-15 10:12:43 +02:00
Teemu Patja
bcae011231
Merge branch 'master' into develop
2017-03-14 22:44:04 +02:00
Teemu Patja
4ba777996e
Fix UI issue when confirming payout
...
* fix bugs in handlers related to bounty payout confirmation (Fixes : #31 )
* reduce println noise
2017-03-14 22:42:29 +02:00
Teemu Patja
89ed67c39a
Update placeholder text
2017-03-14 22:23:42 +02:00
Teemu Patja
a9b6a28dec
Add 'repos' oauth scope
...
* repos scope is needed even for read-only access to the user's
repositories, so it is required for manage repositories to work
(Related to #29 )
2017-03-14 18:41:02 +02:00
Teemu Patja
34615a6f92
Footer enhancements
2017-03-14 17:38:50 +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
3a29a577de
Remove forgotten debug fn's
2017-03-10 20:27:11 +02:00
Teemu Patja
cb3feeeec3
Use random json-rpc request IDs
...
* use a random 0-4096 int for json-rpc request ID and ensure reponse
has the same ID (may solve #32 ))
2017-03-10 20:23:14 +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
2bd5685638
Use random json-rpc request IDs
...
* use a random 0-4096 int for json-rpc request ID and ensure reponse
has the same ID (may solve #32 ))
2017-03-10 20:19:35 +02:00
Teemu Patja
219d697fee
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-09 21:50:57 +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
817466c636
Show commiteth version in page footer
...
* inject commit sha to project version and make it visible in cljs
* show commiteth version (commit sha) in page footer with a link to github
* downgrade snapshot versions of dependencies to last stable version
2017-03-09 09:49:22 +02:00
Teemu Patja
edc547b9ab
Fix broken link to github issue
...
Fixes : #27
2017-03-08 22:44:30 +02:00
Teemu Patja
e6e62d3adc
Indicate signing bounties not possible without web3
...
* show a warning div informing that signing off bounties is not
possible without a connected wallet (Fixes #28 )
2017-03-08 22:35:55 +02:00
Teemu Patja
8aa7c87835
Remove "repo" oauth scope
...
* remove "repo" from required permissions (fixes : #29 )
* formatting
2017-03-08 22:06:15 +02:00
Teemu Patja
6e60802803
Ignore comments in PR body + unit test
...
* ignore markdown comments in PR body
* unit test coverage for issue-id extraction from PR webhook
2017-03-08 21:42:52 +02:00
Teemu Patja
0c52b24b51
Improve github comment text
2017-03-07 13:41:56 +02:00
Teemu Patja
a8f2d1c1ab
Handle empty payout address case gracefully
...
* log error instead of crashing if a bounty issue gets merged and bounty
winner has no address
2017-03-06 20:47:17 +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
a3a7ac915b
Indicate testnet usage, fix comment image export
...
Fixes : #25
2017-03-06 17:46:31 +02:00
Teemu Patja
f2c74fe4e7
Fix crash in case webhook with nil url exists for a repo
2017-03-06 15:11:54 +02:00
Teemu Patja
bb9ae35fd5
Log proper stack trace in case toggling repo throws
2017-03-06 14:25:26 +02:00
Teemu Patja
e6def5b3f8
Fix crash when receiving a webhook POST for unknown repo
2017-03-06 14:07:19 +02:00
Teemu Patja
317247e31a
Merge branch 'develop'
2017-03-06 12:56:01 +02:00
Teemu Patja
b69a6f5728
Scheduler logging fix & fix 500 error for unexpected webhook
...
* log exception in case scheduled task fails
* return 403 response in case validating webhook POST secret fails
* add logging
2017-03-06 12:55:39 +02:00
Teemu Patja
f8e7677c9e
Make swagger-ui available only for dev profile
2017-03-04 13:01:32 +02:00
Teemu Patja
1107ed71e7
Fix REPL reload issues with db and http-server
2017-03-04 12:42:12 +02:00
Teemu Patja
22d1fcc517
New scheduler implementation
...
* simpler and more REPL-friendly scheduler implementation
2017-03-03 23:24:31 +02:00
Teemu Patja
5cdc524c1b
Fix bug in pull request webhook handler
2017-03-03 21:37:12 +02:00
Teemu Patja
366b0f6a7a
Simplify QR image get handler
2017-03-03 17:02:58 +02:00
Teemu Patja
716856830b
Github comment image related fixes and improvements
...
* fix crash with QR image GET request for non-existing image/bounty
* take comment hash verifcation back to use
* improve QR handler error handling
* add missing parameter to function call
2017-03-03 16:27:47 +02:00
Teemu Patja
442f5c7821
Require Ethereum address for toggling repos
...
* do not allow toggling of repositories without a saved Ethereum
address (Fixes : #20 )
* fix react warning on activity view
* fix bugs in payout related re-frame handlers
* project file tweaks
2017-03-03 10:19:28 +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
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
f125bd6244
Fix issue URL in activity feed
2017-03-01 10:35:16 +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
1ad6fb3b93
Inline logo svg, remove old svg's
2017-02-23 18:52:14 +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
2d2d11fc9d
Fix issues with injected web3 and advanced cljs compilation
...
* use stub js for web3 externs
* upgrade clojurescript
Fixes : #21
2017-02-23 12:26:29 +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
c2065fa973
Improve repo loading error handling + UI tweaks
2017-02-22 11:57:38 +02:00
Teemu Patja
1d49767da9
Repositories view improvements
...
* show personal repos group before other groups
* CSS tweaks
2017-02-22 11:31:38 +02:00
Teemu Patja
32392a4405
Fix bug caused by stale session
...
* in case API AJAX calls start failing, make sure user is logged out
to avoid frontend being in a corrupt state
2017-02-22 10:56:14 +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
89475a9365
Close success flash messages via delayed dispatch
2017-02-21 23:00: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
d5ebf3b0bc
Fix glitch with responsive grid
2017-02-21 15:05:28 +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
bb5d492631
Activity feed view
...
* beginnings of activity feed reagent UI
* uses place holder data for now
* CSS + other UI tweaks
2017-02-20 17:03:01 +02:00
Teemu Patja
b8facb1a97
"Top hunters" UI
...
* front end support for "top hunters"
* placeholder data used for now
2017-02-19 19:52:22 +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
97c7800e4d
CSS tweaks
2017-02-18 23:36:29 +02:00
Teemu Patja
e265e967e2
Fix regression + UI tweaks
2017-02-18 22:46:59 +02:00
Teemu Patja
354c262301
New 'update address' view
...
* show web3.eth.accounts in dropdown in case web3 available, otherwise
edit box
2017-02-18 22:43:11 +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
e29dc1ae8a
Do not render manage page when not logged in
2017-01-30 21:57:03 +02:00
Teemu Patja
993b2a5064
Fix 'unknown prop' react warning
2017-01-30 21:34:12 +02:00
Teemu Patja
c60db00f6d
Reorganize API endpoints
2017-01-30 21:26:02 +02:00
Teemu Patja
fb136e656d
Show spinner when repos are loading
2017-01-30 21:06:17 +02:00
Teemu Patja
19de39d946
Add missed file
2017-01-30 17:57:23 +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
a4aafa1bd3
Enable re-frisk for dev profile
2017-01-28 08:24:05 +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
feccbcce72
Refresh data every minute, please
2016-10-02 18:06:12 +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
e65fabf60e
Pagination
2016-09-28 04:12:33 +03:00
kagel
161b5b8052
Remove assignee and comments count
2016-09-26 01:56:00 +03:00
kagel
c064c04b46
Remove table header
2016-09-26 01:50:02 +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
0affe53a45
React warnings
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
kagel
7ffc9741de
Bugfix in handle-issue-closed
2016-09-15 17:39:50 +03:00
kagel
88ed27d100
More logs please
2016-09-15 00:35:50 +03:00
kagel
59a60aa261
replace println with log
2016-09-14 15:55:52 +03:00
kagel
781f4b4a49
Externalize configuration
2016-09-14 14:40:44 +03: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
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
21a9682c5c
Fix period
2016-09-07 04:22:55 +03:00
kagel
8d7a78e593
Use `mount/defstate`, please
2016-09-07 04:18:33 +03:00
kagel
d404e7d34f
Post a comment with balance and QR code
2016-09-07 03:20:17 +03:00
kagel
cfbfff4d30
Gas is not string
2016-09-06 17:02:12 +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
094ce72a46
Validate referenced issue number
2016-09-01 02:59:43 +03:00
kagel
9e8ecd50a3
Take first issue number, please
2016-09-01 02:13:17 +03:00
kagel
b2f92e2f0e
Link referenced issue by parsing "Fixes" keyword
2016-09-01 02:03:53 +03:00
kagel
99705264ea
Another bugfix
2016-08-31 04:49:26 +03:00
kagel
1dd6be2180
Bugfix
2016-08-31 03:21:09 +03:00
kagel
fdfaafc2c1
Get rid of parents and merge_commit_sha
2016-08-31 00:45:25 +03:00
kagel
f9d983076c
Increase session ttl
2016-08-30 23:25:11 +03:00
kagel
a484d477f4
JDBC_DATABASE_URL
2016-08-30 01:57:35 +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
656f7ce84a
Embrace re-frame 0.8.0 effects
2016-08-25 02:58:55 +03:00
kagel
b29eaaaf80
Repositories list
2016-08-25 01:46:29 +03:00
kagel
e47c25d1ca
Get user profile
2016-08-23 16:00:53 +03:00
kagel
c97627c6cf
Factor out profile page
2016-08-23 15:34:52 +03:00
kagel
b4eb921361
UI fix
2016-08-23 15:22:38 +03:00
kagel
58a66236e7
Use form-2 please
2016-08-23 15:07:35 +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
f6498069f7
Fix compile error
2016-08-22 01:13:07 +03:00
kagel
0382fa9888
Github integration hello-world
2016-08-21 03:29:39 +03:00
kagel
c4bab5a6ed
Luminus skeleton + useless github button
2016-08-21 00:36:09 +03:00