Commit Graph

349 Commits

Author SHA1 Message Date
Will O'Beirne c7186ca567
Responsive for other sections. 2019-02-26 16:36:07 -05:00
Will O'Beirne 39102f6164
Responsive home intro 2019-02-26 16:23:36 -05:00
Will O'Beirne 3f7cbbc4df
SSR fetch, fix some states for requests loading. 2019-02-26 16:10:09 -05:00
Will O'Beirne 378765ebce
Initial pass at homepage full width. Not yet responsive or using localization. 2019-02-26 15:58:25 -05:00
Will O'Beirne 828be6ca01
Fix tsc 2019-02-26 12:41:39 -05:00
Will O'Beirne 560f63847e
More considerations for anonymous contributions on the frontend. 2019-02-25 14:46:47 -05:00
Will O'Beirne a2d89f2910
Pose a warning to user before contributing anonymously. Handle anonymous user in user row. 2019-02-25 14:26:02 -05:00
Will O'Beirne 6f7de989e7
Merge branch 'develop' into anonymous-contributions 2019-02-25 11:43:36 -05:00
AMStrix 77e25b1c7c Various fixes (#260)
* remove linkedin social media option

* fix ProfileEdit social media button white-space

* fix default profile tab for non-authed user

* filter out non live proposal contributions for GET user/<id>

* admin: remove 255 char limit on reject_reason
2019-02-25 11:41:00 -05:00
Will O'Beirne 06add917b5
Merge branch 'develop' into anonymous-contributions 2019-02-23 16:53:59 -05:00
AMStrix 0b2676563a fe: Placeholder loading state & use it for profile tabs + RFPs list (#255) 2019-02-23 16:46:35 -05:00
William O'Beirne 8bf7013b0f
Cancel proposal (#253)
* Backend setup for proposal canceling.

* Cancelable in admin, update all states to properly reflect a canceled proposal.

* Replace REFUNDING stage with CANCELED and FAILED to distinguish between the 2

* Fix pending contributions showing up as needing refunds.

* Fix some refund cases.

* Dont show failed & canceled proposals on list view. Hide their filters.

* Show when proposal was canceled.

* Remove edit action, make cancel an explanation to contact support.

* Fix PR comments

* Fix issues from develop merge.
2019-02-23 16:38:06 -05:00
Will O'Beirne 115b127962
Initial pass at anon contributions on frontend. 2019-02-23 15:31:07 -05:00
William O'Beirne ae62b726ce
Rip sprout out. (#254) 2019-02-23 15:19:33 -05:00
Will O'Beirne 6f50a7ae28
Merge develop in. 2019-02-21 12:17:48 -05:00
Daniel Ternyak 95c1f26153
Merge branch 'develop' into comment-moderation 2019-02-20 15:51:55 -06:00
Daniel Ternyak d128d110e6
Merge branch 'develop' into milestone-validation 2019-02-20 15:44:30 -06:00
Daniel Ternyak 5a7235ab49
Merge branch 'develop' into comment-moderation 2019-02-19 16:46:03 -06:00
Daniel Ternyak 58ebdeb9fa
Merge branch 'develop' into proposal-unlink 2019-02-19 16:36:59 -06:00
Will O'Beirne e05b210b29
Removes non-existent help link. 2019-02-19 16:56:25 -05:00
Will O'Beirne ebc4b8ceee
Stricter milestone validaiton. Dont try to be smart with percentages. 2019-02-19 16:42:40 -05:00
Will O'Beirne 5163d87172
Add link for unlinking proposals from requests. 2019-02-19 14:48:51 -05:00
Daniel Ternyak 9516d78190
Merge branch 'develop' into fix-body-more 2019-02-19 13:35:13 -06:00
Will O'Beirne 03865a9ff2
Use ref instead of random id 2019-02-19 14:08:27 -05:00
Aaron 054b49ecbb
Merge branch 'develop' into comment-moderation 2019-02-19 12:57:06 -06:00
Daniel Ternyak eecfbd3b3d
Merge branch 'develop' into comment-moderation 2019-02-19 10:24:13 -06:00
Daniel Ternyak ceefe0c403
Merge branch 'develop' into rfp-detail 2019-02-18 23:11:24 -06:00
Aaron 8ef9a7e5e4
comment reporting for moderation 2019-02-18 16:35:21 -06:00
Aaron 1a87cadc4d
Merge branch 'develop' into comment-moderation
# Conflicts:
#	backend/grant/utils/pagination.py
#	frontend/client/components/Proposal/Comments/index.tsx
2019-02-18 15:36:31 -06:00
Aaron e8c7dad87f
be & admin moderation & reporting for proposal comments 2019-02-18 15:31:20 -06:00
Daniel Ternyak 00b4a2fbc8
remove empty space 2019-02-18 12:12:25 -06:00
Daniel Ternyak 6183420a9d
Show tags and brief on RFP detail 2019-02-18 12:08:20 -06:00
Daniel Ternyak d51877d1e3
Update all profile tabs to use placeholders with both titles and subtitles 2019-02-17 16:37:11 -06:00
Daniel Ternyak 5e2fdbfea4
Use Modal to present social share option instead of direct pop-up 2019-02-17 15:57:57 -06:00
Daniel Ternyak 75ca7667d8
Refactor CopyInput out into it's own component 2019-02-17 15:57:06 -06:00
Daniel Ternyak 39250211b6
Merge branch 'proposal-and-comment-pagination' into modal-sharing-links 2019-02-17 15:01:06 -06:00
Daniel Ternyak 0ac4c0591d
rename and simplify user profile validation function 2019-02-17 14:36:17 -06:00
Daniel Ternyak 5fb6f4c36a
Merge branch 'develop' of https://github.com/dternyak/zcash-grant-system into fix-edit-profile 2019-02-17 13:56:09 -06:00
Daniel Ternyak edc5ce54d4
Merge branch 'develop' into proposal-and-comment-pagination 2019-02-17 13:49:41 -06:00
Aaron da889a4f58
paginate comments & "All" stages filter in frontend 2019-02-16 19:33:57 -06:00
William O'Beirne 1be2c5c945
Add bounty banner to campaign block. Reflect bounty in funded amount. Fix some of the cases that opens up. (#213) 2019-02-16 12:32:26 -05:00
Will O'Beirne cbe0ed659c
Add refund address to settings, editable on the account page. 2019-02-16 11:49:32 -05:00
AMStrix 877bc53332 Milestone & Arbiter adjustments (#211)
* ms emails: fix link underline extra space

* fe: team member no arbiter ms action verbiage

* BE: no proposal matching changes after funding + pull proposal state changing into model funcs

* when funding reached with immediate payout skip MS to ACCEPTED (waiting for payment)

* email: fix another trailing link space

* arbiter may not be team-member

* add proposal hybrid property is_failed, true if not funded past deadline

* do not allow setting arbiter on failed proposals

* fix matching and arbiter related tests
2019-02-15 22:35:25 -05:00
Daniel Ternyak f2c2b70967
Fix 'Edit Profile' form being always disabled; remove email 2019-02-15 13:31:08 -06:00
Will O'Beirne ac3bfb66c8
Tags for list view, bold bounty and matching on detail view. 2019-02-15 12:46:50 -05:00
Will O'Beirne 31345c57b6
Merge develop in 2019-02-14 19:08:18 -05:00
Aaron 47f827693d
mileston payout emails + some bug fixes 2019-02-13 14:30:58 -06:00
Aaron fd9a4c5393
full payout flow operational 2019-02-13 10:54:46 -06:00
Aaron 380eec005e
payout endpoints + redux actions + ms UX refactors 2019-02-11 23:10:09 -06:00
Aaron dc92d3f297
Merge branch 'develop' into zcash-milestones
# Conflicts:
#	backend/grant/proposal/models.py
#	backend/grant/utils/enums.py
#	frontend/client/modules/create/utils.ts
#	frontend/stories/props.tsx
#	frontend/types/proposal.ts
2019-02-11 16:51:31 -06:00
Aaron ac5bef5c6f
FE: rework milestones first pass 2019-02-11 15:22:40 -06:00
Daniel Ternyak f15c110f92
Merge branch 'develop' into arbiter-management 2019-02-10 15:53:29 -06:00
Daniel Ternyak c4b7e281a5
Merge branch 'develop' into comment-placeholder 2019-02-10 13:34:36 -06:00
Daniel Ternyak 536a98694c
handle not signed in users 2019-02-10 13:33:02 -06:00
Aaron 7a036058f6
FE: more robust arbiter + arbiter accept email validation code page 2019-02-09 21:03:19 -06:00
Will O'Beirne 2a0e12194c
Add resend button to email settings 2019-02-08 14:57:54 -05:00
Will O'Beirne 263764255b
Frontend for new RFP fields. 2019-02-08 14:02:34 -05:00
Daniel Ternyak fee2708334
Replace placeholder comment blocker with disabled markdown input and message 2019-02-08 11:14:16 -06:00
Daniel Ternyak d11fa489d5 Remove comments option from updates (#177) 2019-02-08 11:18:58 -05:00
Aaron 60575b4024
Merge branch 'develop' into proposal-arbiter
# Conflicts:
#	admin/src/components/Proposals/index.tsx
#	admin/src/store.ts
#	backend/grant/admin/views.py
#	backend/grant/proposal/models.py
2019-02-07 09:57:56 -06:00
Daniel Ternyak bd9c870e5c
Merge branch 'develop' into stake-topoff 2019-02-06 17:58:45 -06:00
Aaron 048cda8216
FE: user profile arbitrations tab 2019-02-06 16:37:45 -06:00
Will O'Beirne a1283f24eb
Allow topping off of partial stake contributions. Fix float innaccuracy errors in python. Allow staking proposals to be deleted. 2019-02-05 20:45:57 -05:00
Will O'Beirne f4f8d9312d
Merge branch 'develop' into proposal-date-fixes 2019-02-05 16:29:46 -05:00
Will O'Beirne a3a2392135
Convert milestone dates to unix timestamps to be inline with the rest of our entities. 2019-02-05 16:25:58 -05:00
Will O'Beirne 3b8d96ac51
Fix isImmediatePayout non-existant property on milestones. 2019-02-05 16:05:45 -05:00
Will O'Beirne f0303b26b4
Set valid dates on auto-create. 2019-02-05 16:05:16 -05:00
Will O'Beirne 6cd6520fbc
Use datePublished for deadline wherever possible. Disable past dates during milestone create, disable field when immediate payout is set. 2019-02-05 15:56:07 -05: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 08ed3e0417
Address validation (#156)
* Fix create step query

* Add basic regex validation for addresses to frontend.

* Check with zcash node if address is valid before final proposal submission.

* tsc

* Mock requests where needed. Come up with a function that mocks all blockchain requests.

* Remove print
2019-02-05 15:26:37 -05:00
Daniel Ternyak fe0cb6c220
Merge branch 'develop' into gdpr-and-cookies 2019-02-05 09:35:31 -06:00
Will O'Beirne fdc293185b
tsc 2019-02-05 01:26:05 -05:00
Will O'Beirne fa462175f3
Merge branch 'develop' into address-validation 2019-02-05 01:25:20 -05:00
William O'Beirne ce95dd7b0c
Fix create step query (#154) 2019-02-05 01:25:02 -05:00
Will O'Beirne df4b077a4a
Check with zcash node if address is valid before final proposal submission. 2019-02-05 01:24:17 -05:00
Daniel Ternyak 2dc3e1df86
Merge branch 'develop' into gdpr-and-cookies 2019-02-04 21:58:52 -06:00
Will O'Beirne 7620d7f577
Fix create step query 2019-02-04 17:50:11 -05:00
Will O'Beirne 3967358531
Minimum tab heights on proposals and profiles. 2019-02-04 17:39:46 -05:00
Will O'Beirne 29f59aa81d
Require agreement on signup. 2019-02-04 15:45:11 -05:00
Aaron 70adb40b75
replace antdp Ellipsis component 2019-02-01 16:07:15 -06:00
AMStrix 1c72178b86 Create and use ExceptionPage for 404s (#138)
* create & use ExceptionPage for 404s, remove LinkButton

* ExceptionPage: set default 'desc' if not set on props
2019-02-01 14:25:17 -05:00
William O'Beirne c17145986f
Request for Proposal (Pt. 3 - Create & Link Proposals) (#131)
* Adjust rfp <-> proposal models. Add button to rfp detail page to make linked proposal.

* Add a block that links to the original request. Fix a bunch of preview issues.

* List proposals on RFP.

* Admin view for connected RFPs and proposals

* Fix TSC issues.

* Fix tab badge misalignment

* Redesign list page.

* Resolve PR issues.
2019-02-01 14:13:30 -05:00
Will O'Beirne 33ac4db564
Fix SSR, fix uncaught async errors, fix style cascade. 2019-01-31 22:09:52 -05:00
AMStrix f8f3bd1707 Proposal staking (#134)
* BE: proposal/<id>/stake end-point basics

* BE: proposal staking tests

* add STAKING to ProposalStatusEnum

* BE: incremental staking related changes

* admin: staking status

* FE: proposal staking first pass

* ZCash -> Zcash spelling

* staking contribution confirmed email

* FE: staking related minor style changes

* FE proposal staking env var

* notify user of partially staked proposal contributions
2019-01-31 17:56:16 -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
AMStrix b0d16ace7d Proposal contribution matching (#117)
* BE: contribution_matching + admin proposal update end-point + tests

* admin: set proposal matching status

* frontend: contributionMatching

* improve CampaignBlock matching callout - thx Will

* adjust ProposalDetail matching confirmation popover child scope

* contributed & funded Proposal fields (hybrid props) + remove funded derivation from FE

* include "contributed" sum for ProposalDetail view

* fix branched migration revision
2019-01-29 18:50:27 -05:00
Daniel Ternyak 2c8a52013c
simplify authorization/validation logic for verified users making proposals. Prevent unverified users from making proposals of any kind 2019-01-28 18:51:10 -06:00
Daniel Ternyak 8d8dda46e6
Oofdah. Backend refactoring based on PR review, and adding a more obvious UI for users who haven't yet verified their email before posting comments. 2019-01-28 16:46:04 -06:00
Daniel Ternyak 7e41de9c81
Styling to Create proposal error page 2019-01-27 21:16:04 -06:00
Daniel Ternyak b0a5a8e03d
Handle comment prevention without email verification 2019-01-27 20:03:38 -06:00
Daniel Ternyak 01d61fce9f
Undo errouneous reformats 2019-01-27 16:17:09 -06:00
Daniel Ternyak 97db9d69f9
Merge branch 'develop' of https://github.com/dternyak/zcash-grant-system into remove-profile 2019-01-27 16:13:49 -06:00
Daniel Ternyak 5f606d6204
merge 'develop' into 'remove-profile 2019-01-27 15:44:16 -06:00
Will O'Beirne af9486ef52
Keep new email in the field after changing it. 2019-01-24 14:49:04 -05:00
William O'Beirne 69fefdb2ea
Merge branch 'develop' into change-email 2019-01-24 14:29:26 -05:00
Will O'Beirne 8d15a473fc
Adjusted settings mobile behavior. Fixed tsc error. 2019-01-24 14:19:33 -05:00
Will O'Beirne 3b9d15e62e
Implement change email & email confirmation. Adjust layout of settings more. 2019-01-24 13:53:26 -05:00
Will O'Beirne b6e921879e
Rework settings page frontend. Add account tab for email changes. 2019-01-23 17:28:27 -05:00
Daniel Ternyak 61d9b08a02
Remove user email on Profile view 2019-01-23 15:53:29 -06:00
Will O'Beirne 737ec0e59c
Fix SSR, upgrade react router and loadable components. 2019-01-23 15:48:22 -05:00
Will O'Beirne da88825c7c
Standardize loader size 2019-01-23 11:35:03 -05:00
Will O'Beirne eddc0671d7
Replace spin with loader everywhere. 2019-01-23 10:15:59 -05:00
Will O'Beirne 9181dec164
New logos (placeholder until approval.) 2019-01-22 15:46:50 -05:00
Will O'Beirne 31b4167c09
Remove alpha banner. Update markdown pages. Replace default user icon. 2019-01-22 14:56:48 -05:00
Will O'Beirne 32840da648
Grant.io -> ZF Grants 2019-01-22 13:40:20 -05:00
Will O'Beirne 837f6b0c95
Remove a bunch of leftover ETH platform stuff. 2019-01-22 13:09:42 -05:00
Will O'Beirne 0f979412aa
Basic color and font changes. 2019-01-22 13:01:21 -05:00
AMStrix 5848d33f29 code of conduct MD page (#89) 2019-01-18 12:21:03 -05:00
AMStrix c8ab0d0f37 location forward after authentication (#90) 2019-01-18 01:40:30 -05:00
Aaron f7d485db3c
Revert "code of conduct MD page"
This reverts commit 14c546b528.
2019-01-17 10:52:56 -06:00
Aaron 14c546b528
code of conduct MD page 2019-01-17 09:15:30 -06:00
AMStrix 48912c95cc markdown driven static pages (#40) 2019-01-16 18:19:34 -05:00
AMStrix 8de3b4e3c8 Email settings + unsubscribe (#75)
* user subscription_settings utils + tests

* UserSettings user/models updates

* GET /<user_id>/settings endpoint

* PUT /<user_id>/settings + more tests + refactoring

* Email Notifications settings tab

* email subscription verbiage

* email-unsubscribe page + refactors

* hook up send_email for proposal approval + add subscription checks to send_email

* fix merge bug

* Send email on contribution. Dont double-count contributions from the blockchain watcher.

* Proposal contribution email, and fix email admin.

* Send email to team on contribution received.

* Email comment creator of their replies.

* Send comments to proposal creator. Adjust templates for all comment emails.

* Send email on contribution update.
2019-01-16 17:26:44 -05:00
William O'Beirne 994b680f04
Link to specific tabs from query param (#71)
* Linkable tabs with scrolling behaior. Replace all tabs with linkable tabs.

* Link to specific tab wherever relevant.

* Fix bad tab name.
2019-01-15 15:19:59 -05:00
William O'Beirne f008b0fcfa
Word wrap (#70) 2019-01-15 15:19:44 -05:00
William O'Beirne 91efc28fa3
Fade auth in, invisible while checking. (#69) 2019-01-15 15:19:31 -05:00
William O'Beirne 98209f5fa6
Fix incorrect pending invites count. (#68) 2019-01-15 14:13:57 -05:00
AMStrix fbbd20ae90 Fix avatar load renegade POST (#58) 2019-01-10 16:51:34 -06:00
Will O'Beirne badcb75203
Margins. 2019-01-09 18:05:45 -05:00
Will O'Beirne 6c8ce3f87d
Show send instructions on profile pending contributions. 2019-01-09 17:26:28 -05:00
Will O'Beirne 5a922cefee
Merge latest develop in. 2019-01-09 16:57:15 -05:00
Will O'Beirne 7a7cbb77c7
Delete expired transactions. 2019-01-09 16:32:51 -05:00
Will O'Beirne b338fc9d2e
Contributions tab on proposal view. 2019-01-09 15:48:41 -05:00
William O'Beirne 7ade6b5715
Merge branch 'develop' into zcash-contributions 2019-01-09 14:08:51 -05:00
Will O'Beirne 57e65e26d5
Rework proposal api a bit, render contributions and their status. 2019-01-09 14:07:50 -05:00
AMStrix 47c695f43b Proposal Approval Process (#39)
* endpoints and model support for proposal approval

* admin test + proposal approval tests

* GET user/<id> withPending support

* basic withPending suport for Profile

* change create publish to sumbit for approval

* admin proposal filter by status + some refactoring

* admin: update antd

* backend: admin get single proposal + populate date_approved

* admin: rework Proposals + support approval

* backend: approval process updates

* admin: review count on home + cosmetic

* frontend: proposal approval flow

* Profile ZEC/ZAT adjustments

* fix regression in formatUserFromGet + update error type in users/reducers

* fix merge tsc issues

* publish warning vebiage change

* fix ssr fetchProposal 404 hang bug

* proposals/<id> - limit status non-LIVE to team member, exclude DELETED

* various adjustments to Proposal based on `status`

* remove comments

* Proposal statuses to banner style + fix up CreateFlow - Preview mode

* Proposal tsc fix
2019-01-09 13:23:08 -05:00
Will O'Beirne e28f1b50d7
Tsc fixes 2019-01-07 16:56:01 -05:00
Will O'Beirne fc10366232
Fix type, dont close on mask click. 2019-01-07 12:56:27 -05:00
Will O'Beirne c444e5152d
Hook up blockchain to backend, backend to frontend for contributions. 2019-01-07 01:58:33 -05:00
Will O'Beirne e6fb844b40
Finish out UI for contribution. 2019-01-07 00:42:24 -05:00
William O'Beirne 99fdedb816 Initial work on contribution modal flow and contribution model overhaul. 2019-01-06 17:48:07 -05:00
William O'Beirne 98d68961b5 Merge develop in. 2019-01-04 14:29:09 -05:00
AMStrix 15acce1865 Rework Proposal Comments & Updates (#36)
* test proposal updates + adjustments for comments

* remove comment signed message stuff

* use authed user id to check if user can update, remove 'account'

* ts adjustment
2019-01-04 14:03:37 -05:00
AMStrix 22f8a0415c Verify User Social via OAuth (#30)
* BE social oauth verify

* FE social oauth verification

* readme updates

* README social verification setup instructions

* adjust tests socialMedias

* BE add social verify tests

* save changes before leaving to OAuth

* Fix migration.

* Adjust social button styles.

* Remove question mark.

* merge fix

* fix migration branch
2019-01-02 12:23:02 -06:00
William O'Beirne ec76cb414f Initial Proposal rework (#32)
* Rework proposal model to remove ethereum specific stuff. Removed most traces of those fields around the backend.

* Refactor to a state where /proposlas loads.

* Get rid of the ProposalWithCrowdFund type.

* Fix padding on create flow.
2018-12-28 17:05:34 -06:00
Will O'Beirne ba5e5e34a1
Fix all tsc issues. 2018-12-27 14:08:14 -05:00
Will O'Beirne ac053e7660
Fix hydration. Real milestone amount. 2018-12-27 13:37:30 -05:00
Will O'Beirne f954646170
Fill in target and funded amounts from real proposal data. Funded is stubbed. 2018-12-27 13:00:04 -05:00
Will O'Beirne f4e918481c
Convert all units to ZEC from ETH. 2018-12-27 12:41:26 -05:00
Will O'Beirne 4ac7bb0da8
Fix padding on create flow. 2018-12-27 11:58:48 -05:00
Will O'Beirne 9b555aa8fa
Get rid of the ProposalWithCrowdFund type. 2018-12-21 13:47:50 -05:00
Will O'Beirne 5931de5460
Refactor to a state where /proposlas loads. 2018-12-21 13:27:39 -05:00
AMStrix 6ea75e6bda User Recovery Flow (#26) 2018-12-17 12:33:33 -06:00
AMStrix 50cc377b48 User Auth Conversion (#19) 2018-12-14 13:36:22 -06:00
AMStrix 1144b0b0e2 Remove Unserializables from Redux (#234)
* remove web3 instance from redux

* remove Web3Container, use redux state instead

* remove web3 from Web3Container ;)

* cache result of fetchCrowdFundJSON

* fix error action type

* remove contracts from redux

* fetchCrowdFundJSON error & reporting

* remove unused ref

* check factory networkId against MM networkId during initialization
2018-12-03 20:08:29 -06:00
AMStrix 4980670e8c Populate Profile Data (#233)
* BE profile deets

* BE real user data web3 populate + misc

* FE real profile data
2018-11-30 17:52:00 -06:00
Will O'Beirne c3985a07a3
Merge in develop 2018-11-27 13:21:11 -05:00
Will O'Beirne 708eaca511
Merge upstream changes. 2018-11-26 20:29:33 -05:00
Will O'Beirne 02b1260573
Merge in latest changes. 2018-11-26 20:14:00 -05:00
Will O'Beirne f9b4f65ac4
Merge develop in. 2018-11-26 18:47:24 -05:00