Daniel Ternyak
5a15022987
ZF Grants 2.1 ( #496 )
...
* fix ccr pagination defaults
* add ccr admin tests
* add ccr user tests
* checkpoint
* fix tslint
* request changes discussion flow mvp
* admin - add discussion status
* backend - add live drafts
* admin - add live drafts
* frontend - add live drafts
* frontend - add edit discussion proposal
* fix tsc
* include DISCUSSION status in propsal listview
* do not make live draft on admin request changes
* hide live drafts from user proposal draft list
* fix backend tests
* add admin tests
* add user tests
* fix: liking, viewing discussion proposals, admin menu
* admin - update hints for live drafts
* fe - add better messaging when updating a proposal
* be - fix like test
* remove TODO comments
* add new email types
* fix storybook
* add revision tab story
* backend - implement proposal revisions
* frontend - implement proposal revisions
* update revision tab story
* fix lint
* remove set detection
* email proposal followers on revision
* restrict banner to team members only
* misc bug fixes
* update, add backend tests
* add milestone title change to revision history story
* fix milestones display in preview
* allow archived proposals to be queried
* implement archived proposal page
* fix tsc
* implement archived proposal get route
* move styling into less
* remove proposal archive parent id
* handle archived proposal status
* cleanup
* remove contributions, switch to USD, implement quarters
* use Qs to preserve formatting
* handle edit only kyc
* prevent ARCHIVED proposals from being sent to admin
* display latest revision first
* admin - proposal & ccr reject permanently
* backend - proposal & ccr reject permanently
* frontend - proposal & ccr reject permanently
* fix tsc
* use $ in milestone payout email
* introduce custom filters to proposal listview
* hide archive link on first revision
* upgrade packages
* add bech32 implementation
* add z address validation with tests
* fix tslint
* use local address validation
* fix tests, remove blockchain mock gets
* add additional bad addresses
* update briefs to include page break message
* remove contributions routes, menu entry
* disable countribution count admin stats
* remove matching and pretty print in finance
* fix tslint
* separate out rejected permanently proposals
* make removing proposals generic
* allow linked tabs to be ignored
* remove rejected permanently, bugfix
* update preview link to point to rejected tab
* implement rejected permanently tab, add tab message
* refactor variable
* fix tslint
* fix tslint
* send ccr reject permanently email on rejection
* fix preview message
* wire up proposal arbiter and rejected emails
* disable tip jar in proposal and profile
* sync ccr/proposal drafts on create form init
* check invites on submit modal open
* update team invite language
* update team text when edit
* fix ccr rejected permanently tag
* text changes, email preview fix
* display changes requested tag when in discussion with changes requested
* enable social share on open for discussion proposals, update language
* place sort below filter
* derive filter from query string
* use better filter names in query params
* fix tslint
* create snapshot of original proposal on first revision
* clear invites between edits, account for additional changes not tracked in revisions
* update tests
* fix test
* remove print
* SameSite Fixes (#150 )
* QA Fixes 2 (#151 )
* set filters as query strings on change
* remove rejected permanently tags
* add dollar sign in financials legend
* fix tsc
* Copy Touchups (#152 )
* Email Fixes (#155 )
* fix ZEC in milestone payout emails
* fix links in rejected permanently CCR/proposal emails
* Poll for Team and Invite Changes in Create Flow (#153 )
* poll for team and invite changes in create flow
* fix tslint
Co-authored-by: Daniel Ternyak <dternyak@gmail.com>
* pretty print payouts by quarter (#156 )
Co-authored-by: Daniel Ternyak <dternyak@gmail.com>
* Remove Blockchain Module (#154 )
* remove blockchain route from backend, remove calls to node
* revert blockchain_get removal
* Add Tags to Proposal Cards (#157 )
* add tag to proposals and dynamically set v1 card height
* listen on window resize
* make card height props optional
* set tag in bottom right, remove dynamic card resize, add dynamic tag resize
* cleanup
* cleanup
Co-authored-by: Daniel Ternyak <dternyak@gmail.com>
* Improve Frontend Address Validation (#158 )
Co-authored-by: Daniel Ternyak <dternyak@gmail.com>
* Remove blockchain module (#162 )
* remove blockchain route from backend, remove calls to node
* revert blockchain_get removal
* Remove Blockchain App (#160 )
* remove blockchain app
* remove blockchain app from travis
Co-authored-by: Danny Skubak <skubakdj@gmail.com>
* Proposal Edit Fixes (#161 )
* fe - display error if edit creation fails
* be - restrict live draft publish
Co-authored-by: Daniel Ternyak <dternyak@gmail.com>
* Restrict Arbiter Assignment (#159 )
Co-authored-by: Daniel Ternyak <dternyak@gmail.com>
* Email Copy updates
* Remove Admin Financials Card
* Hookup 'proposal_approved_without_funding' to admin email example
* bump various package versions
* Update yarn.lock files
* Attach 'proposal_approved_without_funding' to backend example email
* bump package versions
Co-authored-by: Danny Skubak <skubakdj@gmail.com>
2020-04-07 21:56:32 -05:00
Daniel Ternyak
3311be8e98
CCRs ( #86 )
...
* CCRs API / Models boilerplate
* start on frontend
* backendy things
* Create CCR redux module, integrate API endpoints, create types
* Fix/Cleanup API
* Wire up CreateRequestDraftList
* bounty->target
* Add 'Create Request Flow' MVP
* cleanup
* Tweak filenames
* Simplify migrations
* fix migrations
* CCR Staking MVP
* tslint
* Get Pending Requests into Profile
* Remove staking requirement
* more staking related removals
* MVP Admin integration
* Make RFP when CCR is accepted
* Add pagination to CCRs in Admin
Improve styles for Proposals
* Hookup notifications
Adjust copy
* Simplify ccr->rfp relationship
Add admin approval email
Fixup copy
* Show Message on RFP Detail
Make Header CTAs change based on draft status
Adjust proposal card style
* Bugfix: Show header for non signed in users
* Add 'create a request' to intro
* Profile Created CCRs
RFP CCR attribution
* ignore
* CCR Price in USD (#85 )
* init profile tipjar backend
* init profile tipjar frontend
* fix lint
* implement tip jar block
* fix wrapping, hide tip block on self
* init backend proposal tipjar
* init frontend proposal tipjar
* add hide title, fix bug
* uncomment rate limit
* rename vars, use null check
* allow address and view key to be unset
* add api tests
* fix tsc errors
* fix lint
* fix CopyInput styling
* fix migrations
* hide tipping in proposal if address not set
* add tip address to create flow
* redesign campaign block
* fix typo
* init backend changes
* init admin changes
* init frontend changes
* fix backend tests
* update campaign block
* be - init rfp usd changes
* admin - init rfp usd changes
* fe - fully adapt api util functions to usd
* fe - init rfp usd changes
* adapt profile created to usd
* misc usd changes
* add tip jar to dedicated card
* fix tipjar bug
* use zf light logo
* switch to zf grants logo
* hide profile tip jar if address not set
* add comment, run prettier
* conditionally add info icon and tooltip to funding line
* admin - disallow decimals in RFPs
* fe - cover usd string edge case
* add Usd as rfp bounty type
* fix migration order
* fix email bug
* adapt CCRs to USD
* implement CCR preview
* fix tsc
* Copy Updates and UX Tweaks (#87 )
* Add default structure to proposal content
* Landing page copy
* Hide contributors tab for v2 proposals
* Minor UX tweaks for Liking/Following/Tipping
* Copy for Tipping Tooltip, proposal explainer for review, and milestone day estimate notice.
* Fix header styles bug and remove commented out styles.
* Revert "like" / "unfollow" hyphenication
* Comment out unused tests related to staking
Increase PROPOSAL_TARGET_MAX in .env.example
* Comment out ccr approval email send until ready
* Adjust styles, copy.
* fix proposal prune test (#88 )
* fix USD display in preview, fix non-unique key (#90 )
* Pre-stepper explainer for CCRs.
* Tweak styles
* Default content for CCRs
* fix tsc
* CCR approval and rejection emails
* add back admin_approval_ccr email templates
* Link ccr author name to profile in RFPs
* copy tweaks
* copy tweak
* hookup mangle user command
* Fix/add endif in jinja
* fix tests
* review
* fix review
2019-12-05 19:01:02 -06:00
Danny Skubak
ec3350e45f
Proposal Migration Script ( #47 )
...
* init script
* only modify object in not dry runs
2019-11-13 17:59:35 -06:00
Danny Skubak
67fbbae9bf
Port Landing Hooks ( #30 )
...
* port & adapt landing hooks from grant-base
* fix type guard
* CSS Adjustments for Illustration and Content layout.
2019-11-07 22:58:55 -05:00
Will O'Beirne
c462b6eb72
Give CORS setting its own env var
2019-04-04 21:32:20 -04:00
Daniel Ternyak
35510b984f
Misc fixes ( #418 )
...
* CORS
* Parse float instead of bn
* Minimum to 0.001
* Unused import
2019-04-04 19:16:00 -05:00
Will O'Beirne
06ae67f1db
Flask command for clearing chain dependent db state
2019-03-19 15:14:49 -04:00
Daniel Ternyak
9b542ab1f1
More webargs validation ( #344 )
2019-03-14 15:29:02 -05:00
AMStrix
46aa7cf6cf
Limit Contribution Related Emails ( #360 )
...
* BE: limit contribution emails to CONFIRMED & one per user + add app context to EmailSender
* BE: handle EmailSender setup and start using flask request context
2019-03-14 12:46:09 -04:00
AMStrix
e018f11018
Zcash e2e basics ( #329 )
...
* e2e: remove more eth related stuff, update cypress
* BE: e2e endpoints and interceptions for emails and blockchain reqs
* e2e: expand browse test for proposals and comments
* e2e: remove old tests, add new ones
* e2e: intercept blockchain_get /contribution/addresses
* be: disable sentry for e2e, add DEBUG to e2e endpoint register conditional
* post-merge adjustments
* fix merge related bug
* post merge issue
2019-03-13 18:36:06 -05:00
William O'Beirne
3050caf329
Sentry fixes ( #345 )
...
* Upgrade sentry sdk, replace all prints with flask logging.
* Upgrade node sentry to fix circular json error.
* Update frontend sentry versions to maintain parity and nab any fixes.
2019-03-13 14:40:29 -05:00
William O'Beirne
73d087bda7
Rate limits ( #342 )
...
* Implemented rate limits for most POST requests.
* Nicer error message for rate limited contributions
* Use error message for drafts and invites, limit invites on frontend.
2019-03-12 22:35:38 -05:00
William O'Beirne
c6ad668d71
Better contribution error displays ( #314 )
...
* Handle blockchain_get failures better.
* tsc
2019-03-12 13:10:56 -04:00
Daniel Ternyak
3e65df3e5d
Merge branch 'develop' into various-fixes
2019-03-01 14:13:41 -06:00
Daniel Ternyak
f950e17397
Webargs Request Parsing ( #228 )
2019-03-01 14:11:03 -06:00
Daniel Ternyak
a52fda5c58
Set Admin Command ( #273 )
2019-02-28 18:26:38 -06:00
Aaron
f49b58dca4
totp basics + remove old admin env key stuff
2019-02-20 16:35:13 -06:00
Aaron
00dedfbfc0
trigger redux auth state update based on custom auth header
2019-02-15 21:07:41 -06:00
Aaron
1d811bb7d3
BE: user banning + silencing + pagination
2019-02-14 22:11:47 -06:00
AMStrix
d696f7978d
Proposal pagination & 404 fix ( #151 )
...
* BE: command to create fake proposals
* BE: pagination system + implemented for GET proposals/
* FE: overlay mode for Loader component
* FE: paginated Proposals
* refactor pagination.py a bit
* Proposals: set search input from store on construction
* admin: switch proposals to new pagination regime
* BE: test adjustments
* set app.proposals.page after fetch in a less-creepy way
* optimictic proposal.detail from proposal.page
* keep api interfacing on the api surface (one-dimentional page filters vs structured)
* rem MOST & LEAST_FUNDED prop sort + rename NEWST & OLDEST
* ProposalPagination fix default sort
2019-02-05 15:34:19 -05:00
William O'Beirne
4091deaf2f
Request for Proposal (Pt. 1 - Models & Admin) ( #120 )
...
* Convert constants into enums
* Initial RFP models and views.
* Fix model and enums
* RFP admin fully fleshed out.
* Fix tsc
* Fix tests and tsc
* Fix closed tag display
* Request for Proposal (Pt. 2 - Public View) (#125 )
* RFP list page and backend endpoints. Scaffold of detail view.
* RFP detail view. Fix faulty addRfp action.
* Fix 0 showing up
* PR cleanup
2019-01-30 12:59:15 -05:00
Daniel Ternyak
b9a88d7276
MVP task architecture
2019-01-27 22:59:15 -06:00
Daniel Ternyak
9727134ac0
Run reformatter on all files
2019-01-22 23:35:22 -06:00
Will O'Beirne
244a9f9168
Merge branch 'develop' into sentry-release-env-no-git
2019-01-21 12:52:35 -05:00
William O'Beirne
0e4626157f
Blockchain watcher bootstrap ( #92 )
...
* Initial work on bootstrap refactor. Still results in delayed bootstrapping and double bootstrapping.
* Remove logging.
* Fix invalid json in body on non-post requests. Reduce error verbosity.
* Adjust error output.
2019-01-21 12:51:49 -05:00
Aaron
4687ed6033
do not register default blueprint for flask-security
2019-01-18 13:07:00 -06:00
AMStrix
b3e3a28957
Admin authentication environment variable + generation command ( #78 )
...
* store admin pass hash in ENV + add gen-admin-auth command
* allow custom salt for hash generation
* remove unused import
* dynamically pull salt for testing admin password hash generator func
* Fix middleware name.
2019-01-17 00:20:10 -05:00
Will O'Beirne
4540dbde1a
Remove flask-sendgrid. Use sendgrid directly. Improve error logging.
2019-01-10 18:48:44 -05:00
AMStrix
50cc377b48
User Auth Conversion ( #19 )
2018-12-14 13:36:22 -06:00
Daniel Ternyak
35eecc24db
Setup in-app SSL redirects for Heroku ( #238 )
...
* setup in-app ssl redirects for Heroku
* add typings
* use trustProtoHeader
* BE w3 read fix for read_user_proposal
* No HTTPS redirect on dev
2018-12-05 17:49:45 -06:00
Will O'Beirne
b1b2717360
Tests around invites, and a few fixes along the way.
2018-11-28 16:56:19 -05:00
Daniel Ternyak
00219e65c8
Only Runtime Contracts ( #225 )
2018-11-25 22:02:35 -06:00
AMStrix
7abeac7bd7
Sentry Integration ( #221 )
...
* BE sentry setup w/ user scope
* FE sentry integration + user scope
* FE env adjustments
* FE: use NODE_ENV for Sentry
* BE: use FLASK_ENV for Sentry
* BE: remove email, acct & ip from Sentry user scope
* comment .env.example SENTRY* for CI
* fix merge artifact
2018-11-21 23:45:29 -06:00
AMStrix
03de8c2543
Backend Proposal Reads Pt. 1 ( #198 )
...
* web3 flask + read proposal
* tests
* use build/contracts indtead of build/abi
* fail if endpoint not set
* batched calls
2018-11-14 09:30:18 -05:00
William O'Beirne
250d5fb7a9
EIP-712 signatures for login & signup ( #189 )
...
* Signup requires valid EIP-712 signature. Refactor some auth reducer nomenclature for consistency.
* Add auth endpoint for logging in that checks for valid signature, like create user.
* Fix tests, move dummy data into test_data.py.
* No strict slashes.
2018-11-07 14:08:42 -05:00
William O'Beirne
cdc3ea0107
Email verification ( #172 )
...
* Add email_verification table and endpoints, setup email verification page, adjust emails to actually verify.
* Add User.create method
2018-11-02 12:07:06 -04:00
AMStrix
d4298e62cc
Admin ( #164 )
...
* admin backend
* admin ui
* tslint ignore contracts
* fix name
* build & serve
2018-10-30 12:35:47 -04:00
Daniel Ternyak
abc824b17e
EIP-712 User Authorization ( #138 )
...
* example auth service
* prep for merge
* MVP signed transaction based auth
* update auth service endpoint and delete checked-in auth service
* add readme explanation for AUTH_URL
* rename eip-712 headers
* fix test errors
2018-10-20 00:18:27 -05:00
William O'Beirne
e63b03e5c3
Email Scaffolding + Signup Email ( #153 )
...
* Scaffolding for emails + signup email.
* Better docs and handling around config
2018-10-19 17:20:51 -05:00
Daniel Ternyak
397079869a
"Fuller" Users ( #96 )
...
* check in progress
* revert
* fix up API, add tests
* remove unused milestone commands
* support filtering users via proposalId
* get UI working
* refactoring / add minimum team size.
* fix proposal create API to properly support both email and account based
2018-09-25 15:09:25 -05:00
Daniel Ternyak
02d703a32a
Create Proposal Comment API ( #29 )
...
* Create Proposal Comment API
Flesh out Testing Frameworks
Create initial test
* add flask_testing to requirements.txt
* Fix test client table setup in sqlite.
Apparently there are some issues when using flask with sqlite in memory, so simply persisting sqlite to disk fixes migrations.
* Fix resource creation status codes 204 -> 201.
* Fix and add tests
* add signing stub
* remove front-end changes
2018-09-18 17:17:34 -05:00
Daniel Ternyak
2f513d0ce6
initial commit
2018-09-10 11:55:26 -05:00