Compare commits

..
Author SHA1 Message Date
Superalgos Bot a55a9d811f Changes in User Profile done by Profile Owner Luis-Fernando-Molina automatically merged by Superalgos.
Contribution: Teams Weight Voting
2021-12-05 20:04:38 +01:00
Luis Fernando Molina d639fde539 Teams Weight Voting 2021-12-05 20:03:57 +01:00
Superalgos Bot b4b68df0ae Changes in User Profile done by Profile Owner PLuv automatically merged by Superalgos.
User-Profile - Day 3
2021-12-05 19:50:38 +01:00
Philip Love 981b6406c0 User-Profile - Day 3 2021-12-05 13:48:46 -05:00
Luis Fernando Molina 5e199cfa0b Merge pull request #2913 from Luis-Fernando-Molina/develop
Contribution: Revert Bug Fix of side panels because it disables the workspace panel
2021-12-05 14:01:29 -04:00
Luis Fernando Molina 6eb6d385a4 Revert "Give Side Space precedence on mouse click"
This reverts commit bb43bedd1b.
2021-12-05 19:00:04 +01:00
Luis Fernando Molina 39d402049c Merge pull request #2912 from Luis-Fernando-Molina/develop
Contribution: Signal sent from Task reaching the P2P Network
2021-12-05 13:51:57 -04:00
Luis Fernando Molina 9cf78dc536 Signal sent from Task reaching the P2P Network 2021-12-05 18:51:00 +01:00
Luis Fernando Molina fb93911abd Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-12-05 18:44:21 +01:00
Luis Fernando Molina 49e665774b Merge pull request #2908 from whtv/develop
Give Side Space precedence on mouse click
2021-12-05 13:35:05 -04:00
Luis Fernando Molina 25eda48a3e Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-12-05 18:23:01 +01:00
Luis Fernando Molina 83121a9276 Removing Comments 2021-12-05 17:57:35 +01:00
Luis Fernando Molina 28216a08d0 axios working 2021-12-05 17:46:31 +01:00
Superalgos Bot c684505ebf Changes in User Profile done by Profile Owner prepheadrus automatically merged by Superalgos.
Contribution: Position votes
2021-12-05 15:51:36 +01:00
prepheadrus 07a15f62bc Contribution: Position votes 2021-12-05 17:50:36 +03:00
Superalgos Bot 33d2011a27 Changes in User Profile done by Profile Owner harrellbm automatically merged by Superalgos.
Update weights
2021-12-05 14:23:36 +01:00
harrellbm 3548df523b Update weights 2021-12-05 07:23:21 -06:00
Superalgos Bot e7d8be2a22 Changes in User Profile done by Profile Owner julian-molina automatically merged by Superalgos.
Contribution: Position votes
2021-12-05 14:01:35 +01:00
Julian Molina ce833e16c2 Position votes 2021-12-05 14:00:53 +01:00
whtv bb43bedd1b Give Side Space precedence on mouse click 2021-12-05 13:38:47 +01:00
Julian Molina 78c5a4d7bf Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-12-05 13:28:07 +01:00
Julian Molina 0029c4c6d2 Merge pull request #2885 from julian-molina/develop
Contribution: Profile weight votes
2021-12-05 13:27:36 +01:00
Superalgos Bot 243948cf49 Changes in User Profile done by Profile Owner buddies2705 automatically merged by Superalgos.
Contribution: profile update
2021-12-05 13:25:35 +01:00
Guarav Agrawal f5b7cda053 profile update 2021-12-05 17:47:27 +05:30
Superalgos Bot c41fc95f00 Changes in User Profile done by Profile Owner prepheadrus automatically merged by Superalgos.
Update User Profile prepheadrus
2021-12-05 13:04:34 +01:00
prepheadrus e83805b300 Update User Profile prepheadrus 2021-12-05 15:04:16 +03:00
Superalgos Bot 72672dfcdf Changes in User Profile done by Profile Owner whtv automatically merged by Superalgos.
Weight votes
2021-12-05 12:57:34 +01:00
whtv 01ebdeece7 Weight votes 2021-12-05 12:56:31 +01:00
Julian Molina 3804b350b0 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-12-05 12:00:23 +01:00
Luis Fernando Molina a90c8256ac Signal Sent via HTTP 2021-12-05 11:41:37 +01:00
Luis Fernando Molina cbb1de0747 Waiting for Trading Session to be ran 2021-12-05 11:21:04 +01:00
Superalgos Bot 31c13515f0 Changes in User Profile done by Profile Owner end-debug automatically merged by Superalgos.
Update end-debug.json
2021-12-05 11:08:34 +01:00
SIFISO KHUMALO e26c21ec6a Update end-debug.json 2021-12-05 12:06:23 +02:00
Luis Fernando Molina 4f4539934c Ready to Debug 2021-12-05 10:57:27 +01:00
Luis Fernando Molina 65a141da5c Some refactoring and comments added to code 2021-12-05 10:36:41 +01:00
Luis Fernando Molina 22317a454d Merge pull request #2884 from whtv/develop
Fix dragging nodes out of bounds
2021-12-05 03:50:14 -04:00
Luis Fernando Molina e620174fa1 File name too long 2021-12-05 08:31:41 +01:00
Luis Fernando Molina 49d33649df Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-12-05 08:29:34 +01:00
Superalgos Bot 9fbf37481b Changes in User Profile done by Profile Owner cozed-gh automatically merged by Superalgos.
Contribution: User-Profile cozed-gh
2021-12-05 03:30:30 +01:00
cozed-gh 0cea547c4f User-Profile cozed-gh 2021-12-05 03:30:12 +01:00
Superalgos Bot 6e251f7173 Changes in User Profile done by Profile Owner cozed-gh automatically merged by Superalgos.
Contribution: User-Profile cozed-gh
2021-12-05 02:59:30 +01:00
cozed-gh ef91cf73a8 User-Profile cozed-gh 2021-12-05 02:59:22 +01:00
Superalgos Bot fad5d9842f Changes in User Profile done by Profile Owner cozed-gh automatically merged by Superalgos.
Contribution: User-Profile cozed-gh
2021-12-05 02:28:29 +01:00
cozed-gh 9f26001bc8 User-Profile cozed-gh 2021-12-05 02:27:57 +01:00
Julian Molina bcb9781035 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-12-04 23:38:28 +01:00
Superalgos Bot 70189e5d59 Changes in User Profile done by Profile Owner PLuv automatically merged by Superalgos.
User-Profile - Day 2 - Round 2
2021-12-04 20:05:26 +01:00
Philip Love e40d3d1b04 User-Profile - Day 2 - Round 2 2021-12-04 14:04:14 -05:00
Luis Fernando Molina a5ab8472a9 P2P Network Head 2021-12-04 18:20:25 +01:00
Luis Fernando Molina f2bdfb14c9 HttpNetworkClient 2021-12-04 17:55:23 +01:00
Julian Molina b4e0bfae0a Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-12-04 17:12:31 +01:00
whtv 2c13f6dcb3 Fix dragging nodes out of bounds 2021-12-04 16:23:23 +01:00
Superalgos Bot cd8b0e7093 Changes in User Profile done by Profile Owner Raplh2502 automatically merged by Superalgos.
Contribution: profile update
2021-12-04 16:05:24 +01:00
Raplh2502 250ce9b4c4 profile update 2021-12-04 16:04:02 +01:00
Superalgos Bot 334233b8b4 Changes in User Profile done by Profile Owner julian-molina automatically merged by Superalgos.
Contribution: Pool and position votes
2021-12-04 14:06:24 +01:00
Julian Molina b2d7d9d14d Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-12-04 14:06:16 +01:00
Julian Molina 5603603668 This is my contribution to Superalgos 2021-12-04 14:05:31 +01:00
Superalgos Bot 74c946175b Changes in User Profile done by Profile Owner end-debug automatically merged by Superalgos.
Contribution: This is my contribution to Superalgos
2021-12-04 13:30:23 +01:00
SIFISO KHUMALO 915e66bd59 This is my contribution to Superalgos 2021-12-04 14:29:56 +02:00
Julian Molina 9b741d7ec0 Merge pull request #2880 from julian-molina/develop
Contribution: Index file message
2021-12-04 13:06:11 +01:00
Julian Molina 561379dac2 Index file message 2021-12-04 12:49:43 +01:00
Superalgos Bot 3074dfd9ae Changes in User Profile done by Profile Owner cozed-gh automatically merged by Superalgos.
Contribution: User-Profile cozed-gh
2021-12-03 22:41:03 +01:00
Superalgos Bot 1bfd5c9ff9 Changes in User Profile done by Profile Owner prepheadrus automatically merged by Superalgos.
Update prepheadrus.json
2021-12-03 22:40:58 +01:00
Superalgos Bot 22a45b74e4 Changes in User Profile done by Profile Owner NAmorim automatically merged by Superalgos.
User Profile: Team pool voting
2021-12-03 22:40:54 +01:00
Superalgos Bot 0ea255a2a3 Changes in User Profile done by Profile Owner harrellbm automatically merged by Superalgos.
Position Weight Votes
2021-12-03 22:40:40 +01:00
Superalgos Bot 2d67fb19aa Changes in User Profile done by Profile Owner whtv automatically merged by Superalgos.
Position weights vote
2021-12-03 22:40:35 +01:00
Superalgos Bot 229d704bb1 Changes in User Profile done by Profile Owner alexandrustefan automatically merged by Superalgos.
alexandrustefan position voting
2021-12-03 22:40:30 +01:00
Superalgos Bot 3a77f3c766 Changes in User Profile done by Profile Owner julian-molina automatically merged by Superalgos.
Contribution: Position weight votes
2021-12-03 22:40:26 +01:00
Superalgos Bot 7dee9083bf Changes in User Profile done by Profile Owner Raplh2502 automatically merged by Superalgos.
Contribution: profile update
2021-12-03 22:40:21 +01:00
Luis Fernando Molina 0c27d7d9bd Merge pull request #2878 from Luis-Fernando-Molina/develop
Contribution: Governance Workspace Fixed
2021-12-03 17:39:30 -04:00
Luis Fernando Molina 0ea1c5b379 Governance Workspace Fixed 2021-12-03 22:39:08 +01:00
Luis Fernando Molina f4c4fc430b Merge pull request #2876 from Luis-Fernando-Molina/develop
Contribution: BUG FIX: Negative Percentage Enabled Creating Token Power
2021-12-03 17:12:21 -04:00
Luis Fernando Molina 38706a4615 Deep Scan Bug Fixes 2021-12-03 22:02:16 +01:00
Luis Fernando Molina c6f34e97e1 Deep Scan Bug Fixes 2021-12-03 21:52:18 +01:00
Luis Fernando Molina babc2e0a42 Deep Scan Bug Fixes 2021-12-03 21:51:21 +01:00
Luis Fernando Molina b83801cd1d BUG FIX: Negative Percentage Enabled Creating Token Power 2021-12-03 21:47:01 +01:00
Raplh2502 ab4c934b26 profile update 2021-12-03 21:18:14 +01:00
Julian Molina 6b74a02b30 Position weight votes 2021-12-03 21:14:40 +01:00
Alexandru Stefan cdb1f790c6 alexandrustefa team voting 2021-12-03 19:55:04 +00:00
whtv b4bf7ee4d1 Position weight vote 2021-12-03 18:52:02 +01:00
Brenden Harrell d7a9ee6fd1 Position Weight Votes 2021-12-03 10:43:18 -07:00
NAmorim 5d97e97a02 User Profile: Team pool voting 2021-12-03 14:23:22 +00:00
prepheadrus 46ab81d988 Update prepheadrus.json 2021-12-03 14:08:14 +03:00
cozed-gh 986a709b06 User-Profile cozed-gh 2021-12-03 12:04:53 +01:00
Superalgos Bot eaab261be9 Changes in User Profile done by Profile Owner prepheadrus automatically merged by Superalgos.
Update prepheadrus.json
2021-12-03 10:37:55 +01:00
prepheadrus b5920e7d76 Update prepheadrus.json 2021-12-03 12:37:21 +03:00
Superalgos Bot 9cebcace5a Changes in User Profile done by Profile Owner prepheadrus automatically merged by Superalgos.
Contribution: This is my contribution to Superalgos
2021-12-03 10:08:55 +01:00
prepheadrus 5497d301ef This is my contribution to Superalgos 2021-12-03 12:07:52 +03:00
Luis Fernando Molina b47f852c7f Merge pull request #2819 from DJ05GaZ/develop
Develop
2021-12-03 04:28:53 -04:00
Luis Fernando Molina 05681171df Merge pull request #2833 from maxah/develop
Contribution: 'Docs in Russian - Docs Basics - complete'
2021-12-03 04:28:10 -04:00
Luis Fernando Molina 1cb463b85f Merge pull request #2847 from gitforkgit/develop
Contribution: (quick fix)
2021-12-03 04:22:32 -04:00
Luis Fernando Molina 8ba6ef7870 Merge pull request #2854 from Neobii/develop
Contribution: "spelling check in comments for platform and network folders"
2021-12-03 04:21:04 -04:00
Superalgos Bot 80ddb1fd5f Changes in User Profile done by Profile Owner BlaaSwe automatically merged by Superalgos.
Contribution: User Profile BlaaSwe
2021-12-03 07:05:54 +01:00
BlaaSwe f9010b3041 User Profile BlaaSwe 2021-12-03 07:03:51 +01:00
BlaaSwe 5382f56c89 User Profile BlaaSwe 2021-12-03 06:57:55 +01:00
BlaaSwe ab80400e05 User Profile BlaaSwe 2021-12-03 06:47:27 +01:00
BlaaSwe 2807a9a019 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-12-03 06:45:58 +01:00
Neobii f212f570b5 "spelling check in comments for platform and network folders" 2021-12-02 23:45:50 -06:00
Superalgos Bot 6d84915363 Changes in User Profile done by Profile Owner Neobii automatically merged by Superalgos.
Contribution: This is my contribution to Superalgos
2021-12-03 06:10:53 +01:00
Neobii 725c1bf71e This is my contribution to Superalgos 2021-12-02 23:09:58 -06:00
Superalgos Bot e4f3dfc970 Changes in User Profile done by Profile Owner Neobii automatically merged by Superalgos.
Contribution: This is my contribution to Superalgos
2021-12-03 03:00:51 +01:00
Neobii b5253a6bc0 This is my contribution to Superalgos 2021-12-02 20:00:28 -06:00
Superalgos Bot edc2939d62 Changes in User Profile done by Profile Owner piyanthak automatically merged by Superalgos.
user profile
2021-12-03 00:50:50 +01:00
piyanthak 6c66ad4264 user profile 2021-12-03 05:19:57 +05:30
gitforkgit be12ca902a (another small thing) 2021-12-03 00:21:07 +01:00
Superalgos Bot 532336c95f Changes in User Profile done by Profile Owner gustavohcorradi automatically merged by Superalgos.
Contribution: testing delegation
2021-12-03 00:17:50 +01:00
gustavohcorradi 4760951963 testing delegation 2021-12-03 00:17:16 +01:00
gitforkgit 49170e8ba4 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-12-03 00:09:15 +01:00
gitforkgit 51cb76965a (quick fix) 2021-12-03 00:08:23 +01:00
B Harrell 5d8d8fda64 Merge pull request #2844 from gitforkgit/develop 2021-12-02 16:55:13 -06:00
gitforkgit 901155057d (revived a link in: "How to contribute icons") 2021-12-02 23:52:49 +01:00
Superalgos Bot e7cc80f9c6 Changes in User Profile done by Profile Owner superharoun automatically merged by Superalgos.
November 2021 Token Distribution
2021-12-02 23:22:51 +01:00
Haroun 19214d2c92 Merge branch 'Superalgos:develop' into develop 2021-12-02 23:20:31 +01:00
Superalgos Bot b3f8dc4f39 Changes in User Profile done by Profile Owner gitforkgit automatically merged by Superalgos.
Contribution: (user profile gitforkgit)#
2021-12-02 23:15:50 +01:00
gitforkgit c27e0498e3 (user profile gitforkgit)# 2021-12-02 23:15:19 +01:00
Haroun f90b9a192c November 2021 Token Distribution 2021-12-02 23:09:20 +01:00
Superalgos Bot 4783c97432 Changes in User Profile done by Profile Owner Raplh2502 automatically merged by Superalgos.
Contribution: profile update
2021-12-02 22:49:50 +01:00
Raplh2502 c47bb6dc12 profile update 2021-12-02 22:48:28 +01:00
Superalgos Bot 5599962713 Changes in User Profile done by Profile Owner julian-molina automatically merged by Superalgos.
Contribution: Profile pools weight votes
2021-12-02 22:32:49 +01:00
Julian Molina 82d82a7487 Profile pools weight votes 2021-12-02 22:32:04 +01:00
BlaaSwe 4628e4d51d User Profile BlaaSwe 2021-12-02 22:24:56 +01:00
BlaaSwe b19a3e8a2a user profile BlaaSwe 2021-12-02 22:17:15 +01:00
Superalgos Bot 1ca7c2f734 Changes in User Profile done by Profile Owner whtv automatically merged by Superalgos.
Weight votes on pools
2021-12-02 22:10:49 +01:00
whtv 1a17308ebc Weight votes on pools 2021-12-02 22:06:05 +01:00
Luis Fernando Molina bb3ee67256 Merge pull request #2836 from Luis-Fernando-Molina/develop
Contribution: Pool Voting + Positions Final Version
2021-12-02 16:57:57 -04:00
Luis Fernando Molina e2c19a5c3f Pool Voting + Positions Final Version 2021-12-02 21:57:46 +01:00
Superalgos Bot 6f3a254a52 Changes in User Profile done by Profile Owner alexst90 automatically merged by Superalgos.
Contribution: userprofile alexst90
2021-12-02 20:56:49 +01:00
alexst90 58d0f59832 create user profile 2021-12-02 21:56:31 +02:00
Superalgos Bot 13947616f2 Changes in User Profile done by Profile Owner edwardsjohn automatically merged by Superalgos.
User profile edwardsjohn
2021-12-02 19:32:48 +01:00
edwardsjohn 933b58e2e5 User profile edwardsjohn 2021-12-03 00:01:17 +05:30
maxah e882e4aa17 'Docs in Russian - Docs Basics - complete' 2021-12-02 20:47:29 +03:00
Superalgos Bot 48ead9b9fc Changes in User Profile done by Profile Owner PLuv automatically merged by Superalgos.
User-Profile Day 1
2021-12-02 18:27:47 +01:00
Philip Love 9f7ee32765 User-Profile Day 1 2021-12-02 12:26:46 -05:00
Superalgos Bot d34d8125c5 Changes in User Profile done by Profile Owner PLuv automatically merged by Superalgos.
User-Profile Update - Day 1
2021-12-02 18:09:47 +01:00
Philip Love 64f3832257 User-Profile Update - Day 1 2021-12-02 12:09:23 -05:00
Superalgos Bot 71cf4c580f Changes in User Profile done by Profile Owner harrellbm automatically merged by Superalgos.
Profile Update
2021-12-02 16:28:46 +01:00
harrellbm e4f46da8f9 Finished pool weight votes (for now lol) 2021-12-02 09:27:57 -06:00
Superalgos Bot acad839530 Changes in User Profile done by Profile Owner PLuv automatically merged by Superalgos.
User-Profile Update
2021-12-02 15:55:46 +01:00
Philip Love 46f06c8da1 User-Profile Update 2021-12-02 09:54:53 -05:00
harrellbm 9205cd7410 Profile Update 2021-12-02 08:24:02 -06:00
maxah 770383635f Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-12-02 17:11:51 +03:00
Luis Fernando Molina 6c6ab09596 Merge pull request #2828 from Luis-Fernando-Molina/develop
Contribution: 2 More Teams added / updated
2021-12-02 10:10:31 -04:00
Luis Fernando Molina 5e5eb236f1 2 More Teams added / updated 2021-12-02 15:09:52 +01:00
B Harrell 3f4609d2a2 Merge pull request #2784 from maxah/develop
This looks good to go!
Contribution: This is my contribution to Superalgos
2021-12-02 07:56:05 -06:00
Superalgos Bot fb119ec3a3 Changes in User Profile done by Profile Owner NAmorim automatically merged by Superalgos.
User Profile: Weight votes
2021-12-02 14:49:51 +01:00
Superalgos Bot 2589171a3e Changes in User Profile done by Profile Owner Tentacule23 automatically merged by Superalgos.
Contribution: Profile Tentacule23
2021-12-02 14:49:46 +01:00
Tentacule23 1b65ead4be Profile Tentacule23 2021-12-02 08:49:14 -05:00
Nuno Amorim eebe11c094 Merge branch 'Superalgos:develop' into develop 2021-12-02 13:48:04 +00:00
NAmorim 88164a3e93 User Profile - Weight votes 2021-12-02 13:47:38 +00:00
Superalgos Bot 5292bbecf6 Changes in User Profile done by Profile Owner cozed-gh automatically merged by Superalgos.
Contribution: User-Profile cozed-gh
2021-12-02 14:20:46 +01:00
cozed-gh e9e780a3ce User-Profile cozed-gh 2021-12-02 14:20:31 +01:00
Superalgos Bot b796fd2581 Changes in User Profile done by Profile Owner cozed-gh automatically merged by Superalgos.
Contribution: User-Profile cozed-gh
2021-12-02 14:06:45 +01:00
cozed-gh e3415ca597 User-Profile cozed-gh 2021-12-02 14:05:43 +01:00
Superalgos Bot a02d7a2553 Changes in User Profile done by Profile Owner cozed-gh automatically merged by Superalgos.
Contribution: User-Profile cozed-gh
2021-12-02 14:01:46 +01:00
cozed-gh 0f1b6b083b User-Profile cozed-gh 2021-12-02 14:01:36 +01:00
Superalgos Bot c8e1090610 Changes in User Profile done by Profile Owner julian-molina automatically merged by Superalgos.
Contribution: Profile pools weight votes
2021-12-02 13:46:45 +01:00
Julian Molina ddb5cec68b Profile pools weight votes 2021-12-02 13:45:39 +01:00
Superalgos Bot bd3536ffb9 Changes in User Profile done by Profile Owner alexandrustefan automatically merged by Superalgos.
alexandrustefan pool voting
2021-12-02 13:00:45 +01:00
Alexandru Stefan d41c1ee841 alexandrustefan pool voting 2021-12-02 11:57:22 +00:00
DJ05GaZ ce1d11b55a Merge branch 'Superalgos:develop' into develop 2021-12-02 10:19:18 +00:00
Luis Fernando Molina 6f38d7cb1c Merge pull request #2817 from Luis-Fernando-Molina/develop
Contribution: Positions / Teams ready for voting
2021-12-02 05:15:30 -04:00
Luis Fernando Molina 1d364a3cc1 Positions / Teams ready for voting 2021-12-02 10:15:08 +01:00
Luis Fernando Molina f3eae752e7 Merge pull request #2813 from PLuv/develop
Portfolio-Management PR - Ready for Next Steps
2021-12-02 03:58:41 -04:00
Luis Fernando Molina f44fdf84f8 Merge pull request #2816 from Smidy13/develop
Bug Fix: isLoading Parameter Not Set Correctly For Workspace Switch
2021-12-02 03:58:24 -04:00
Smidy13 044b0cd9c4 Bug Fix: isLoading Parameter Not Set Correctly For Workspace Switch 2021-12-02 20:45:30 +13:00
Superalgos Bot 052d173ca1 Changes in User Profile done by Profile Owner Smidy13 automatically merged by Superalgos.
Profile: Smidy13 Profile Weight Votes
2021-12-02 08:22:20 +01:00
Smidy13 c412be02c8 Profile: Smidy13 Profile Weight Votes 2021-12-02 20:19:08 +13:00
maxah daf931a5c1 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-12-02 08:08:56 +03:00
Superalgos Bot f48db81990 Changes in User Profile done by Profile Owner ssplatt automatically merged by Superalgos.
update ssplatt profile
2021-12-02 04:41:18 +01:00
ssplatt 968dc9d8d7 update ssplatt profile 2021-12-01 22:39:28 -05:00
Philip Love 1ce0be81c7 PM TaskServer plumbing 2021-12-01 22:33:17 -05:00
Philip Love c325df7d21 Update to Portfolio-Management-Demo Workspace 2021-12-01 22:32:17 -05:00
Philip Love 77ec0a7fa6 PM Schema Modifications 2021-12-01 22:31:39 -05:00
Philip Love d991d3c6d8 Merge remote-tracking branch 'upstream/develop' into develop 2021-12-01 22:20:54 -05:00
Superalgos Bot 330a4419da Changes in User Profile done by Profile Owner cozed-gh automatically merged by Superalgos.
Contribution: User-Profile cozed-gh
2021-12-01 22:58:16 +01:00
cozed-gh eec316ef37 User-Profile cozed-gh 2021-12-01 22:57:20 +01:00
Superalgos Bot 6c83ccf15f Changes in User Profile done by Profile Owner EvaMaria70 automatically merged by Superalgos.
Contribution: This is my contribution to Superalgos
2021-12-01 22:11:15 +01:00
EvaMaria70 ab57e73c85 This is my contribution to Superalgos 2021-12-01 22:10:44 +01:00
Superalgos Bot 939365f7f4 Changes in User Profile done by Profile Owner Tentacule23 automatically merged by Superalgos.
Contribution: userprofile Tentacule23
2021-12-01 21:37:46 +01:00
Tentacule23 b32831853a userprofile Tentacule23 2021-12-01 15:36:58 -05:00
Luis Fernando Molina 2d8b1a472c Merge pull request #2806 from Loui-Molina/develop
Add an initial implementation of the desktop app migrated to react and using express as middleware to the network
2021-12-01 16:09:24 -04:00
Loui Molina 34bd7d3456 Merge branch 'Superalgos:develop' into develop 2021-12-01 12:06:08 -08:00
Axel bae4a48ed2 Update Routes 2021-12-01 16:28:32 -03:00
Axel fe4e66a405 Re-add social trading interfaces 2021-12-01 16:16:53 -03:00
Luis Fernando Molina 5173efe21d Merge pull request #2795 from Neobii/develop
Contribution: This is my contribution to Superalgos
2021-12-01 15:15:27 -04:00
Luis Fernando Molina e94dc8f0bc Merge pull request #2796 from liteir/develop
my contribution to superalgos
2021-12-01 15:12:49 -04:00
Luis Fernando Molina edcfba0948 Merge pull request #2769 from mx57/develop
Translation into Russian Chapter XI tutorial docs steps 10-20
2021-12-01 14:40:24 -04:00
Axel dbc0bda0d2 Add desktop react start script to package.json 2021-12-01 15:39:10 -03:00
Axel 69a6d0c684 Merge remote-tracking branch 'superalgos/develop' into develop 2021-12-01 15:34:11 -03:00
Axel 38f7164dca Rename project to allow previously existing desktop to coexist 2021-12-01 15:33:44 -03:00
Superalgos Bot b25d7ed939 Changes in User Profile done by Profile Owner cozed-gh automatically merged by Superalgos.
Contribution: User Profile cozed-gh
2021-12-01 18:41:45 +01:00
cozed-gh 8cc4873063 User Profile cozed-gh 2021-12-01 18:41:31 +01:00
Superalgos Bot 9c416977cc Changes in User Profile done by Profile Owner cozed-gh automatically merged by Superalgos.
Contribution: User Profile cozed-gh
2021-12-01 18:21:45 +01:00
cozed-gh df26b33c79 User Profile cozed-gh 2021-12-01 18:21:11 +01:00
maxah ccf61b13f5 'Docs in Russian - Chapter III - 5-Testing Trading Tasks Section' 2021-12-01 20:02:52 +03:00
Philip Love 7e29e89eec updating p-m events-formulas schemas 2021-12-01 11:43:48 -05:00
DJ05GaZ 5163f1cee0 Add files via upload 2021-12-01 16:31:17 +00:00
Neobii 7427253fb3 This is my contribution to Superalgos 2021-12-01 09:54:18 -06:00
Neobii 7f4ee3df34 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-12-01 09:51:08 -06:00
Superalgos Bot b56e857c8f Changes in User Profile done by Profile Owner cozed-gh automatically merged by Superalgos.
Contribution: User-Profile cozed-gh
2021-12-01 16:27:44 +01:00
cozed-gh a3f6bc8bc4 User-Profile cozed-gh 2021-12-01 16:27:00 +01:00
Neobii f1833b6ba5 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-12-01 09:26:46 -06:00
Superalgos Bot 89d5e93f0e Changes in User Profile done by Profile Owner cozed-gh automatically merged by Superalgos.
Contribution: User-Profile cozed-gh
2021-12-01 15:00:43 +01:00
cozed-gh a7af71f158 User-Profile cozed-gh 2021-12-01 15:00:24 +01:00
maxah a64801809a 'Docs in Russian - Chapter III - 3-Indicator and Sensor Bot Instances' 2021-12-01 16:51:20 +03:00
Superalgos Bot 0ef5b9635e Changes in User Profile done by Profile Owner cozed-gh automatically merged by Superalgos.
Contribution: User-Profile cozed-gh
2021-12-01 13:36:42 +01:00
cozed-gh 7cf8719d3f User-Profile cozed-gh 2021-12-01 13:36:17 +01:00
maxah 285387f39a 'Docs in Russian - Chapter III - 2-Organization of Tasks, 3-Data Tasks Section' 2021-12-01 15:10:34 +03:00
maxah adc9f2d49d 'Docs in Russian - Chapter III - 1 -LAN Network Hierarchy' 2021-12-01 14:03:50 +03:00
maxah cc9d943769 'Docs in Russian - Chapter II - Design Space - complete' 2021-12-01 13:07:59 +03:00
Luis Fernando Molina c3aaf097fc Merge pull request #2798 from Luis-Fernando-Molina/develop
Contribution: Bugs Fixes + Save Plugin
2021-12-01 05:34:16 -04:00
Luis Fernando Molina 69f78d5f76 Bugs Fixes + Save Plugin 2021-12-01 10:34:04 +01:00
Luis Fernando Molina a69c8cb53c Bug Fixes + Saving Plugins 2021-12-01 10:31:48 +01:00
maxah b96b5476cd 'Docs in Russian - Chapter I - Introduction - complete' 2021-12-01 11:43:31 +03:00
Luis Fernando Molina 708024605b Merge pull request #2797 from Luis-Fernando-Molina/develop
Contribution: Token-Distribution-Superalgos Plugin Workspace for next Distribution
2021-12-01 03:46:08 -04:00
Luis Fernando Molina b495a0142a Token-Distribution-Superalgos Plugin Workspace for next Distribution 2021-12-01 08:45:54 +01:00
Luis Fernando Molina 4c85b86231 Bug fixes 2021-12-01 08:36:30 +01:00
liteir e46c37c7a2 my contribution to superalgos 2021-12-01 00:07:49 -06:00
Neobii 35e1d8c2eb Fixed typo as per https://youtu.be/NsSYH0TZzys 2021-11-30 21:02:37 -06:00
Loui Molina 2832cd657b Delete Loui-Molina.json 2021-11-30 20:09:34 -03:00
Loui Molina 00bdb0bf55 remove user profile 2021-11-30 20:06:19 -03:00
Loui Molina 8b4b2ecb18 Remove user profile 2021-11-30 20:01:31 -03:00
Loui Molina d2c15d88d7 Merge remote-tracking branch 'superalgos/develop' into develop 2021-11-30 19:53:35 -03:00
Loui Molina 04343af119 Add follow and unfollow functionality to desktop server 2021-11-30 19:52:04 -03:00
Loui Molina e771458a32 Add error handling to desktop server
Change desktop paths
refactor desktop file structure
move WebApp functionalities to express server
Remove unused interfaces
2021-11-30 19:30:58 -03:00
Superalgos Bot 733cd009aa Changes in User Profile done by Profile Owner CoffeeNights09 automatically merged by Superalgos.
User Profile CoffeeNights09
2021-11-30 23:14:06 +01:00
CoffeeNights09 91ce33f075 User Profile CoffeeNights09 2021-11-30 23:46:58 +02:00
maxah 0f451562a3 'Docs in Russian - Docs-Concepts - U' 2021-11-30 22:24:03 +03:00
maxah e99bae6b62 'Docs in Russian - Docs-Concepts - S,T' 2021-11-30 22:17:10 +03:00
maxah cfbf99befa 'Docs in Russian - Docs-Concepts - O,P,R' 2021-11-30 21:17:32 +03:00
Axel c600f77b84 Refactor frontend
Add express server for desktop backend
2021-11-30 14:33:37 -03:00
maxah cbe390f0ba 'Docs in Russian - Docs-Concepts - L,M,N' 2021-11-30 18:35:57 +03:00
maxah b689983799 Merge branch 'develop' of https://github.com/maxah/Superalgos into develop 2021-11-30 18:10:37 +03:00
maxah 8cf817342d 'Docs in Russian - Docs-Concepts - E,F,I' 2021-11-30 18:04:25 +03:00
Raidho 0e5ab4fc9c Merge branch 'develop' into develop 2021-11-30 18:02:56 +03:00
B Harrell 3216188a7e Merge pull request #2786 from harrellbm/develop
Update Readme title
2021-11-30 08:44:06 -06:00
maxah f2369f10e9 'Docs in Russian - Docs-Concepts - D' 2021-11-30 17:37:23 +03:00
B Harrell 03283c3746 Update table of contents 2021-11-30 08:35:32 -06:00
B Harrell af860e0084 Update title to "Contributors Installation" 2021-11-30 08:34:11 -06:00
B Harrell 2e6e2815d6 Merge pull request #2751 from gitforkgit/develop
Contribution: (Translation into german: rest of "Trading Farms - Set Up a Network of Nodes")
2021-11-30 08:24:10 -06:00
gitforkgit 9ba5cb776c (It shoould work now) 2021-11-30 15:21:50 +01:00
gitforkgit cb592731c5 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-30 15:21:38 +01:00
maxah 82f1f64d65 'Docs in Russian - Docs-Concepts - B,C' 2021-11-30 17:12:17 +03:00
maxah a7adaa8abd 'Docs in Russian - Docs-Concepts - A' 2021-11-30 16:53:37 +03:00
Superalgos Bot ce49da77ac Changes in User Profile done by Profile Owner MatthewDin automatically merged by Superalgos.
user profile MatthewDin
2021-11-30 12:51:01 +01:00
MatthewDin 0e8bc6b0e1 user profile MatthewDin 2021-11-30 17:20:02 +05:30
gitforkgit 2f95b6e7c8 (now it should work) 2021-11-30 11:14:58 +01:00
gitforkgit 762517f448 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-30 11:14:26 +01:00
maxah 201dd62c81 Merge branch 'translated-2' into develop 2021-11-30 13:00:54 +03:00
maxah f6ea959c01 Squashed commit of the following:
commit 7590fd7418
Author: maxah <maxah84@gmail.com>
Date:   Fri Nov 26 21:35:08 2021 +0300

    'Docs in Russian - part 1'
2021-11-30 12:51:58 +03:00
Luis Fernando Molina 1d71efeccc Merge pull request #2768 from maxah/develop
Contribution: This is my contribution to Superalgos
2021-11-30 05:25:48 -04:00
Luis Fernando Molina 93310265a2 Merge pull request #2764 from liteir/develop
Contribution: Updates to Kucoin
2021-11-30 05:24:30 -04:00
Luis Fernando Molina 3803169987 Merge pull request #2781 from NAmorim/develop
Update README for packaged apps
2021-11-30 05:23:30 -04:00
Superalgos Bot 173a4a0aa0 Changes in User Profile done by Profile Owner BlaaSwe automatically merged by Superalgos.
Contribution: user profile BlaaSwe
2021-11-30 10:15:04 +01:00
maxah 4a21ea2b1a Merge branch 'develop' of https://github.com/maxah/Superalgos into develop 2021-11-30 07:46:00 +03:00
maxah 002c7002e7 This is my contribution to Superalgos 2021-11-30 07:44:21 +03:00
maxah c9382e0c15 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-30 07:40:39 +03:00
Raidho 68318ba410 Merge branch 'Superalgos:develop' into develop 2021-11-30 07:33:45 +03:00
Axel 9def104a84 Restore web server files 2021-11-29 23:00:23 -03:00
Axel c52629cda2 Change WebAppPreLoader
Test and refactor
Updated own user-profile
2021-11-29 21:44:46 -03:00
NAmorim 95b763d9ed Update README for packaged apps 2021-11-29 22:34:40 +00:00
Axel 7ed3876d19 add validation to ProfileConstructor addSigningAccounts to work when no nodes are defined 2021-11-29 18:35:22 -03:00
Axel 2935e989f7 Remove unnecessary files 2021-11-29 18:33:28 -03:00
BlaaSwe 5f182b7fb6 user profile BlaaSwe 2021-11-29 22:26:55 +01:00
Luis Fernando Molina fdc7198274 Merge pull request #2767 from markinho91/develop
Contribution: This is my contribution to Superalgos
2021-11-29 16:38:35 -04:00
Superalgos Bot d779b98eda Changes in User Profile done by Profile Owner Raplh2502 automatically merged by Superalgos.
Contribution: profile update
2021-11-29 21:18:38 +01:00
Raplh2502 74a4c7da77 profile update 2021-11-29 21:17:19 +01:00
Superalgos Bot c24227daab Changes in User Profile done by Profile Owner hokaheh111 automatically merged by Superalgos.
Contribution: This is my contribution to Superalgos
2021-11-29 17:40:36 +01:00
B Harrell 5695d038ce Merge pull request #2761 from harrellbm/develop
Update install instructions for Readme
2021-11-29 10:37:58 -06:00
Andreja 87fcc7793b This is my contribution to Superalgos 2021-11-29 17:35:05 +01:00
B Harrell 9597fef6d4 Finish updating installations methods section of README 2021-11-29 10:34:59 -06:00
Andreja 04fc3f89f4 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-29 17:13:29 +01:00
Luis Fernando Molina c276d6d9b8 Merge pull request #2777 from Luis-Fernando-Molina/develop
Contribution:  Governance Plugin Workspace Updated
2021-11-29 11:51:09 -04:00
Luis Fernando Molina 58663b6968 Governance Plugin Workspace Updated 2021-11-29 16:50:33 +01:00
Luis Fernando Molina 0bea7d4ff4 Merge pull request #2776 from Luis-Fernando-Molina/develop
Contribution: Integration of Trading Bot with Portfolio Manager Part 1
2021-11-29 11:43:59 -04:00
Luis Fernando Molina e12959b97d DeepScan Bug Fixes 2021-11-29 16:42:05 +01:00
Luis Fernando Molina b966f2e6a5 Integration of Trading Bot with Portfolio Manager Part 1 2021-11-29 16:39:24 +01:00
Luis Fernando Molina 772c4fe326 askPortfolioEventsManager function implemented 2021-11-29 15:06:51 +01:00
B Harrell e2e0784a4a Merge branch 'Superalgos:develop' into develop 2021-11-29 07:49:28 -06:00
Luis Fernando Molina b577dcc3d5 New Modules for Outgoing Signals and Portfolio Manager Client 2021-11-29 13:47:50 +01:00
Luis Fernando Molina c741f8b2c4 Workspace Demo for Portfolio Management 2021-11-29 11:14:56 +01:00
Luis Fernando Molina 09cb005c7a Merge pull request #2774 from Luis-Fernando-Molina/develop
Contribution: Bug Fixes with Secrets File
2021-11-29 06:08:44 -04:00
Luis Fernando Molina c4aa0fd4b1 Merge pull request #2773 from Superalgos/portfolio-management
Portfolio management into Develop
2021-11-29 06:05:19 -04:00
Luis Fernando Molina efe38cae1a Merge pull request #2772 from PLuv/portfolio-management
Portfolio management
2021-11-29 06:02:19 -04:00
Luis Fernando Molina 50b1a9d422 Bug fixed with not having Secrets 2021-11-29 10:56:55 +01:00
Philip Love 4817cd48d6 Merge remote-tracking branch 'origin/develop' into portfolio-management 2021-11-29 04:51:40 -05:00
Philip Love d6b3b161d4 Fixing Conflicts 2021-11-29 04:46:33 -05:00
Luis Fernando Molina 4205a510ca Bug Fixed Superalgos-Bpt 2021-11-29 10:41:47 +01:00
Superalgos Bot b2af4fe021 Changes in User Profile done by Profile Owner MarcusGehring79 automatically merged by Superalgos.
User profile
2021-11-29 10:39:07 +01:00
Luis Fernando Molina f916a40ebb Merge pull request #2770 from PLuv/portfolio-management
Portfolio management
2021-11-29 05:11:44 -04:00
mx57 d8dd7f6f17 Translation into Russian Chapter XI tutorial docs steps 10-20 2021-11-29 11:57:17 +03:00
Philip Love 0116657897 Add Schemas for Trading System Porfolio events and formulas 2021-11-29 03:57:16 -05:00
maxah 333220bc4a This is my contribution to Superalgos 2021-11-29 08:28:18 +03:00
Philip Love 66f422bf68 ADD|MODIFY Many Functionalities to portfolio-management to get us to step 4 2021-11-28 23:29:48 -05:00
Marcos Rivas 4b3654d4a4 Data Mining Español 2021-11-29 00:30:59 -03:00
Marcos Rivas 2da3d2955e This is my contribution to Superalgos 2021-11-28 22:45:35 -03:00
Marcos Rivas 3bde6ee880 This is my contribution to Superalgos 2021-11-28 22:38:03 -03:00
Axel 1bbe09a7d0 Merge remote-tracking branch 'superalgos/develop' into develop
# Conflicts:
#	package-lock.json
#	package.json
2021-11-28 21:11:55 -03:00
Axel 577fb7cfab Integrate React frontend for desktop app
* Added component files
    * Added dependencies and settings on package.json
    * Updated package-lock.json to match new dependencies
    * Added react scripts and config files
2021-11-28 19:55:43 -03:00
liteir d4df6f7b78 Updates to Kucoin 2021-11-28 15:33:26 -06:00
Marcos Rivas cf121c24b6 This is my contribution to Superalgos 2021-11-28 16:27:22 -03:00
Marcos Rivas 690f4a7a76 This is my contribution to Superalgos 2021-11-28 16:21:11 -03:00
B Harrell 56ed632842 First pass at updating install instructions for Readme 2021-11-28 11:46:04 -06:00
Luis Fernando Molina 314386131f Simplification of Governance 2021-11-28 16:44:49 +01:00
gitforkgit c2a6938339 (Current projects) 2021-11-28 16:36:51 +01:00
gitforkgit 4433eadae3 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-28 16:08:46 +01:00
Luis Fernando Molina 53422cbd74 Merge pull request #2759 from Luis-Fernando-Molina/develop
Contribution: bug fixed Product Definition not attaching to indicator Bots
2021-11-28 09:19:52 -04:00
Luis Fernando Molina f128c58b03 bug fixed Product Definition not attaching to indicator Bots 2021-11-28 14:18:54 +01:00
Luis Fernando Molina 34c7ce3913 Merge pull request #2756 from Raplh2502/develop
Contribution: Add return and price probability analyzers to Polus data mine
2021-11-28 06:23:58 -04:00
MarcusGehring79 93b0da92e1 User profile 2021-11-28 09:39:11 +05:30
Raplh2502 1a4ce7b1d6 Add reture and price probability analyzers to Polus data mine 2021-11-27 23:46:04 +01:00
gitforkgit 11d9ce5a53 (small fix) 2021-11-27 23:43:11 +01:00
gitforkgit 90813f382f (New Docs Article: Technical term overview) 2021-11-27 23:33:19 +01:00
gitforkgit 44e9bb95c5 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-27 20:33:08 +01:00
gitforkgit 4eb633389d (Translation into german: "Staking Program") 2021-11-27 20:31:19 +01:00
Luis Fernando Molina 77bff33162 Merge pull request #2755 from Luis-Fernando-Molina/develop
Contribution: Task Server connecting itself to the p2p Network
2021-11-27 15:12:21 -04:00
Luis Fernando Molina 524c9ec28a Task Server connecting itself to the p2p Network 2021-11-27 20:10:35 +01:00
Luis Fernando Molina dfca398d7a Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-27 20:10:12 +01:00
gitforkgit 0b17ec8bd9 (Translation into german: "Automating Actions - Adding your Function") 2021-11-27 19:49:53 +01:00
gitforkgit 14d4ba3c6c (Translation into german: "App Update Command") 2021-11-27 19:37:09 +01:00
gitforkgit 15997b3136 (Translation into german: "App Message - Update Done - New Version Found") 2021-11-27 19:33:31 +01:00
gitforkgit 55abcc302e (Translation into german: "App Message - Updating Your Local App") 2021-11-27 19:21:47 +01:00
gitforkgit 326186e7e8 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-27 19:18:22 +01:00
gitforkgit 8c89eabc2c (Translation into german: "Debugging - Start Your Processes") 2021-11-27 19:15:12 +01:00
gitforkgit 6bd88aeaae (Translation into german: rest of "Trading Farms - Set Up a Network of Nodes") 2021-11-27 17:38:58 +01:00
Superalgos Bot f20c93e0b7 Changes in User Profile done by Profile Owner vraptor75011 automatically merged by Superalgos.
Contribution: User Profile vraptor75011
2021-11-27 16:54:36 +01:00
Luis Fernando Molina d0ec82b68e Merge pull request #2746 from end-debug/develop
Contribution: This is my contribution to Superalgos
2021-11-27 11:53:10 -04:00
Luis Fernando Molina d571630134 Task Server App Reference Implemented 2021-11-27 16:52:30 +01:00
gitforkgit fae6f15d19 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-27 16:27:27 +01:00
Luis Fernando Molina 4e9af8fb7b Signals Nodes Arriving at the TS 2021-11-27 15:00:42 +01:00
vraptor75011 bf82bae8de User Profile vraptor75011 2021-11-27 14:40:14 +01:00
Luis Fernando Molina 93e49639fd Merge pull request #2747 from Luis-Fernando-Molina/develop
Contribution: merging
2021-11-26 18:45:00 -04:00
Luis Fernando Molina ce8f209917 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-26 23:41:38 +01:00
Luis Fernando Molina 0d6a16ecaa Merge pull request #2736 from EvaMaria70/develop
Contribution: This is my contribution to Superalgos
2021-11-26 18:32:36 -04:00
Luis Fernando Molina 00d1b622ef conflicts resolved 2021-11-26 23:29:32 +01:00
SIFISO KHUMALO 59d242507c Merge branch 'Superalgos:develop' into develop 2021-11-27 00:28:52 +02:00
Luis Fernando Molina 3f770ebc9e Merge branch 'develop' of https://github.com/Superalgos/Superalgos into pr/2736 2021-11-26 23:26:45 +01:00
SIFISO KHUMALO 88e83a37ee This is my contribution to Superalgos 2021-11-27 00:18:28 +02:00
Luis Fernando Molina 2558318d6c Merge pull request #2737 from gitforkgit/develop
Contribution: (Translation into german: Multiple articles)
2021-11-26 18:17:51 -04:00
Luis Fernando Molina 3d73a122ef Merge pull request #2740 from markinho91/develop
Develop
2021-11-26 18:17:36 -04:00
Luis Fernando Molina 0d5615a7a8 Merge pull request #2743 from mx57/develop
Translation into Russian Chapter XI tutorial docs steps 1-10
2021-11-26 18:17:18 -04:00
Philip Love 67fccaae2d Merge develop --> portfolio-management
This commit and next resolve conflicts with the aforementioned merge

possible unstashed new files have slipped through to p-m branch with these commits
2021-11-26 14:12:02 -05:00
maxah 7590fd7418 'Docs in Russian - part 1' 2021-11-26 21:35:08 +03:00
Luis Fernando Molina a25148bc06 More Signal Schemas 2021-11-26 12:18:16 +01:00
Luis Fernando Molina 7fd8bc825c Merge pull request #2741 from NAmorim/develop
Better handling of automatic repository fork
2021-11-26 07:15:12 -04:00
mx57 4cab274e96 Translation into Russian Chapter XI tutorial docs steps 1-10 2021-11-26 13:07:21 +03:00
Superalgos Bot 2fbb0153b4 Changes in User Profile done by Profile Owner Barrypair automatically merged by Superalgos.
Contribution: userprofile Barrypair
2021-11-26 09:50:06 +01:00
Barrypair 212217b4e7 userprofile 2021-11-26 08:41:29 +01:00
NAmorim 681145c147 Merge branch 'develop' of https://github.com/NAmorim/Superalgos into develop 2021-11-26 01:09:48 +00:00
NAmorim f318bcdf15 Better handling of user fork 2021-11-26 01:09:32 +00:00
NAmorim 43d2be6e99 Better handling of user fork 2021-11-25 23:44:14 +00:00
Marcos Rivas 7dc3916e1b This is my contribution to Superalgos 2021-11-25 20:37:27 -03:00
gitforkgit 69d8b89783 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-26 00:20:01 +01:00
gitforkgit 1ec774e13e (debugging-docs from note to tip) 2021-11-26 00:19:19 +01:00
Marcos Rivas 071a07a8e3 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-25 20:09:44 -03:00
Luis Fernando Molina 480d4121da Merge pull request #2739 from Luis-Fernando-Molina/develop
Contribution: Trading Signals Project App Schemas Implemented
2021-11-25 18:09:03 -04:00
Luis Fernando Molina 3ea94bec9a Trading Signals Project App Schemas Implemented 2021-11-25 23:07:06 +01:00
Luis Fernando Molina 8f334577c7 Update ProfileConstructor.js 2021-11-25 22:58:22 +01:00
gitforkgit 359c667d84 (Translation into german: a bit of "Trading Farms" and more) 2021-11-25 22:55:31 +01:00
gitforkgit 58cba6552d (Translation into german: more articles) 2021-11-25 22:33:54 +01:00
gitforkgit 0e47d23766 (Translation into german: Multiple articles) 2021-11-25 22:05:33 +01:00
Andreja 5309042a27 My Superalgos Review 2021-11-25 20:36:29 +01:00
Luis Fernando Molina 539a6db158 New Project Trading Signals App Schemas Implemented 2021-11-25 19:21:11 +01:00
EvaMaria70 36aee4dc5c This is my contribution to Superalgos 2021-11-25 16:03:17 +01:00
EvaMaria70 fa582bc835 This is my contribution to Superalgos 2021-11-25 15:54:16 +01:00
EvaMaria70 dbe860e5b4 This is my contribution to Superalgos 2021-11-25 15:35:51 +01:00
EvaMaria70 783a29c5db Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-25 14:14:57 +01:00
EvaMaria70 f7d3fffa8e This is my contribution to Superalgos 2021-11-25 14:14:34 +01:00
Luis Fernando Molina 01581b84b4 Merge pull request #2735 from Luis-Fernando-Molina/develop
Contribution: BUG FIX Governance Signing Accounts
2021-11-25 08:08:33 -04:00
Luis Fernando Molina 0162fc71d5 BUG FIX Governance Signing Accounts 2021-11-25 13:08:13 +01:00
Luis Fernando Molina b63e1f6b18 Merge pull request #2734 from Luis-Fernando-Molina/develop
Contribution: Signing Accounts moved to be child of each Network Client
2021-11-25 07:17:50 -04:00
Luis Fernando Molina 53b0712a95 Network fixed with signing accounts chlld of each network client 2021-11-25 12:16:02 +01:00
Luis Fernando Molina 84b6111315 Install Signing Accounts redone 2021-11-25 12:00:50 +01:00
Luis Fernando Molina 50d5f11580 Connecting a Trading Bot Instance with a Social Trading Bot 2021-11-25 11:22:00 +01:00
Luis Fernando Molina 8d8d90f355 Merge pull request #2725 from MarinitaMarina/develop
Contribution: Translation into Russian Getting Started Tutorial (step 76-80)
2021-11-25 04:12:16 -04:00
Luis Fernando Molina e292f6b2e2 Merge pull request #2729 from NAmorim/develop
Contribution: Update user creation
2021-11-25 04:10:52 -04:00
Superalgos Bot bdb58dc906 Changes in User Profile done by Profile Owner DJ05GaZ automatically merged by Superalgos.
Add user profile files via upload
2021-11-25 08:49:44 +01:00
Marcos Rivas fc06f763e3 Merge branch 'master' of https://github.com/markinho91/Superalgos 2021-11-24 21:05:56 -03:00
DJ05GaZ 8a31dc797b Add files via upload 2021-11-24 23:04:11 +00:00
Nuno Amorim e67b535296 Merge branch 'Superalgos:develop' into develop 2021-11-24 22:28:19 +00:00
NAmorim 898e582bcb Deepscan fixes 2021-11-24 22:04:28 +00:00
NAmorim f99f4d6f87 Correction bad copy & paste 2021-11-24 21:36:59 +00:00
Luis Fernando Molina 2aab1e1f92 Merge pull request #2728 from alexandrustefan/develop
removed code completion for market/exchange objects
2021-11-24 16:00:35 -04:00
Luis Fernando Molina ea4f012989 Merge pull request #2730 from Luis-Fernando-Molina/develop
Contribution: Upgrade to the User Profile Capabilities, so that is can handle Bots and Personas
2021-11-24 15:52:34 -04:00
Luis Fernando Molina 21dff1472f DeepScan fixes2 2021-11-24 20:49:14 +01:00
Luis Fernando Molina cfe8511ca1 DeepScan fixes 2021-11-24 20:47:01 +01:00
Luis Fernando Molina 9ea7cfeb2c Bug Fixes 2021-11-24 20:37:45 +01:00
Luis Fernando Molina eea548eeca Desktop Running Again 2021-11-24 20:24:02 +01:00
Luis Fernando Molina 541a269f80 Network Node Running Again 2021-11-24 19:41:10 +01:00
NAmorim 63e0a2342e Fix typo 2021-11-24 16:33:29 +00:00
NAmorim 866911abfe Contribution
- Automatic fork creation
 - Setup of basic liquidity profile
2021-11-24 16:31:52 +00:00
Alexandru Stefan e31699a3a4 removed the entire loop for market/exchange completion objects 2021-11-24 18:03:23 +02:00
Alexandru Stefan 88c3958419 removed code completion for market/exchange objects due to high memory consumption 2021-11-24 17:59:46 +02:00
Luis Fernando Molina 8557b7b02e Bug Fixes 2021-11-24 16:35:48 +01:00
Luis Fernando Molina aa7c6a01b7 Refactoring 2021-11-24 15:48:30 +01:00
Luis Fernando Molina 0b855bed3e Secrets File Being Created 2021-11-24 15:45:28 +01:00
MarinitaMarina 7b938a2393 Translation into Russian Getting Started Tutorial (step 76-80) 2021-11-24 13:48:05 +01:00
Luis Fernando Molina 5b91325106 Install Secrets Implemented 2021-11-24 12:28:08 +01:00
Luis Fernando Molina 0659ec6155 Merge pull request #2714 from waynewa/develop
My Superalgos Review
2021-11-24 06:20:14 -04:00
Luis Fernando Molina 19f10649c9 Merge pull request #2715 from harrellbm/develop
Update How to estabish Ref page. and Clean up Shortcut ref page. Update bot ref pages.
2021-11-24 06:19:13 -04:00
Luis Fernando Molina d226529b82 Merge pull request #2719 from Raplh2502/develop
Contribution: Datamine with new evolution og Bollinger Bnds qnd stochqstic oscillator
2021-11-24 06:18:37 -04:00
Superalgos Bot a3918baf18 Changes in User Profile done by Profile Owner theblockchainarborist automatically merged by Superalgos.
Contribution: Update User Profile theblockchainarborist
2021-11-24 10:00:32 +01:00
theblockchainarborist bbbd24e310 Update User Profile theblockchainarborist 2021-11-23 20:21:24 -05:00
Superalgos Bot 763c92e8cc Changes in User Profile done by Profile Owner DJ05GaZ automatically merged by Superalgos.
Contribution: User Profile [DJ05GaZ]
2021-11-23 22:19:09 +01:00
Superalgos Bot b5967a341b Changes in User Profile done by Profile Owner theblockchainarborist automatically merged by Superalgos.
Contribution: User Profile theblockchainarborist
2021-11-23 21:56:10 +01:00
theblockchainarborist ce8606c24c User Profile theblockchainarborist 2021-11-23 15:55:31 -05:00
Luis Fernando Molina 8c18a8e1bf Remainder of Superscripts removed 2021-11-23 21:54:34 +01:00
Superalgos Bot fa3ccac520 Changes in User Profile done by Profile Owner whtv automatically merged by Superalgos.
Contribution: Re-submitting user profile
2021-11-23 21:48:09 +01:00
whtv 5388464f3a Re-submitting user profile 2021-11-23 21:47:05 +01:00
harrellbm 9650e2cb25 Update bot concept pages 2021-11-23 14:37:39 -06:00
Gaz Ward e1d781fdb3 User Profile [DJ05GaZ] 2021-11-23 20:16:02 +00:00
B Harrell 565f0cd4bc Merge branch 'Superalgos:develop' into develop 2021-11-23 14:10:43 -06:00
B Harrell b820044d80 Merge pull request #2720 from whtv/develop
Mostly broken references in the user manual
2021-11-23 14:10:01 -06:00
Luis Fernando Molina d69dd39690 Merge pull request #2713 from ssplatt/develop
install package to global scope to stop changing the package-lock.json
2021-11-23 16:01:40 -04:00
whtv 8cac5c213e Mostly broken references in the user manual 2021-11-23 20:55:38 +01:00
Raplh2502 d96b91ca95 Datamine with new evolution og Bollinger Bnds qnd stochqstic oscillator 2021-11-23 20:52:30 +01:00
whtv 485329b0a9 Mostly broken references in the user manual 2021-11-23 20:39:32 +01:00
whtv e3ca9fb4e0 Mostly broken references in the user manual 2021-11-23 20:35:58 +01:00
Luis Fernando Molina 04f3299873 profile constructor being updated 2021-11-23 20:17:34 +01:00
Superalgos Bot f1de715996 Changes in User Profile done by Profile Owner liteir automatically merged by Superalgos.
Contribution: User Profile liteir
2021-11-23 19:52:08 +01:00
liteir 10cd28c29e User Profile liteir 2021-11-23 12:50:40 -06:00
harrellbm 9a9b22679f Update How to estabish Ref page. and Clean up Shortcut ref page. 2021-11-23 12:18:29 -06:00
Wayne Walsh 75b438079e My Superalgos Review 2021-11-24 07:01:36 +13:00
ssplatt a42497d16a install package to global scope to stop changing the package-lock.json 2021-11-23 12:09:31 -05:00
Luis Fernando Molina c21540f4ea Merge pull request #2685 from gitforkgit/develop
Contribution: (translation into german: "Node js Javascript")
2021-11-23 12:51:15 -04:00
Luis Fernando Molina 48b1b93b6d Merge pull request #2687 from EvaMaria70/develop
Contribution: This is my contribution to Superalgos
2021-11-23 12:51:09 -04:00
Luis Fernando Molina 7f0380c7de Merge pull request #2691 from prepheadrus/develop
Translation of Your User Profile Tutorial into Turkish 021/022/023/02…
2021-11-23 12:51:00 -04:00
Luis Fernando Molina caa82de2cd Merge pull request #2693 from e-Nut/develop
Contribution: [Dutch translations]
2021-11-23 12:50:53 -04:00
Luis Fernando Molina 14365690c4 Merge pull request #2707 from MarinitaMarina/develop
Contribution: Translation into Russian Getting Started Tutorial (step 71-75)
2021-11-23 12:46:22 -04:00
Luis Fernando Molina 3749f9fc85 Merge pull request #2712 from NAmorim/develop
[Distribution] Add menu for profile creation/update
2021-11-23 12:46:15 -04:00
NAmorim 19ec4a9c3f [Distribution] Missing link 2021-11-23 16:33:16 +00:00
Luis Fernando Molina 81b93abb6f P2P Network Nodes 2021-11-23 15:58:36 +01:00
NAmorim aa0a63a9be [Distribution] Add menu for profile creation/update 2021-11-23 14:32:58 +00:00
Superalgos Bot a981e8c99a Changes in User Profile done by Profile Owner NAmorim automatically merged by Superalgos.
Governance: Automated Userprofile contribute process.
2021-11-23 14:47:07 +01:00
Nuno Amorim 60ed742106 Governance: Automated Userprofile contribute process. 2021-11-23 13:46:10 +00:00
Luis Fernando Molina b99713d216 Update release_build_dev.yml 2021-11-23 12:20:30 +01:00
Luis Fernando Molina e2db0246fc Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-23 12:18:34 +01:00
Superalgos Bot 48150741f1 Changes in User Profile done by Profile Owner vraptor75011 automatically merged by Superalgos.
Contribution: User Profile vraptor75011
2021-11-23 11:04:05 +01:00
vraptor75011 ec88c54514 User Profile vraptor75011 2021-11-23 11:03:22 +01:00
Superalgos Bot d88d0821b0 Changes in User Profile done by Profile Owner vraptor75011 automatically merged by Superalgos.
Contribution: User Profile vraptor75011
2021-11-23 10:21:04 +01:00
vraptor75011 15c7610aa5 User Profile vraptor75011 2021-11-23 10:20:08 +01:00
MarinitaMarina 3860747977 Translation into Russian Getting Started Tutorial (step 71-75) 2021-11-23 09:50:58 +01:00
Superalgos Bot 85608f7f63 Changes in User Profile done by Profile Owner ssplatt automatically merged by Superalgos.
update user profile ssplatt
2021-11-23 03:04:15 +01:00
Luis Fernando Molina 125d3db595 Merge pull request #2699 from harrellbm/develop
Fix book style to include all projects.  And update First steps book to include governance tutorial
2021-11-22 22:03:13 -04:00
Luis Fernando Molina a9e4c5a7fc Merge pull request #2698 from Smidy13/develop
Improvement: Scrollbar for ListSelector
2021-11-22 22:01:14 -04:00
Luis Fernando Molina 1433c04dfb Merge pull request #2700 from ssplatt/update-dependencies
update a few dependency versions
2021-11-22 22:00:47 -04:00
Luis Fernando Molina c493e7249f Merge pull request #2702 from alexandrustefan/develop
code editor improvements
2021-11-22 22:00:03 -04:00
Luis Fernando Molina 79361eb451 Merge pull request #2705 from NAmorim/develop
Develop
2021-11-22 21:59:16 -04:00
NAmorim 1613e78eff [Distribution] Enable User Profile Commit 2021-11-23 01:05:18 +00:00
Nuno Amorim 6691cfbcf6 Contribution: profile updated in binary app! 2021-11-22 23:00:25 +00:00
gitforkgit 6fdcd8934d (translation into german "Charting Space Tutorial until Dashing Dashboards") 2021-11-22 22:31:31 +01:00
Alexandru Stefan f6bff57092 changed code editor width to match all side panels; added auto formatter to the editor 2021-11-22 22:36:02 +02:00
EvaMaria70 1f0e6a4e98 This is my contribution to Superalgos 2021-11-22 19:48:50 +01:00
Luis Fernando Molina d271c11821 User Apss Structure Done 2021-11-22 19:18:44 +01:00
Brett Taylor 38fb6e3860 update user profile ssplatt 2021-11-22 12:19:59 -05:00
Brett Taylor 148e8e9140 update a few dependency versions 2021-11-22 12:14:29 -05:00
Luis Fernando Molina ebab7d9e7d Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-22 17:49:48 +01:00
Luis Fernando Molina 6e781d876b Social Trading Bot upgraded 2021-11-22 17:25:56 +01:00
Luis Fernando Molina df476b69cf Social Trading Bots 2021-11-22 16:40:36 +01:00
prepheadrus 1c438848cd Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-22 17:44:15 +03:00
gitforkgit 813b5ee0e6 (Translation into german: "Community Building Programs") 2021-11-22 15:43:00 +01:00
harrellbm 1a4b11f4f3 Fix book style to include all projects. And update First steps book 2021-11-22 08:40:55 -06:00
prepheadrus 0559ca0f88 Merge branch 'develop' of https://github.com/prepheadrus/Superalgos into develop 2021-11-22 17:39:12 +03:00
Luis Fernando Molina f37399a73b Social Personas Schemas done 2021-11-22 14:51:31 +01:00
gitforkgit 4af071ae4a (translation into german: "Data Building Procedure") 2021-11-22 14:38:15 +01:00
gitforkgit 5bee1671da Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-22 14:33:05 +01:00
Luis Fernando Molina 49b015dca6 User Bots Schemas 2021-11-22 14:22:14 +01:00
EvaMaria70 7c9a9f7b48 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-22 12:25:29 +01:00
Smidy13 f8bb5e55dc Improvement: Scrollbar for ListSelector 2021-11-22 23:59:46 +13:00
Luis Fernando Molina eb5556a33d Merge pull request #2696 from NAmorim/develop
[Distribution] Typo
2021-11-22 06:45:53 -04:00
Luis Fernando Molina 25f5d6fda4 Merge pull request #2695 from Luis-Fernando-Molina/develop
Contribution: New Message at Splash Screen
2021-11-22 06:45:38 -04:00
Luis Fernando Molina 96578a1860 Platform Settings added 2021-11-22 11:44:52 +01:00
NAmorim bf1b04e615 [Distribution] Typo 2021-11-22 10:39:36 +00:00
Luis Fernando Molina 782aea452e New Message at Splash Screen 2021-11-22 11:38:20 +01:00
Luis Fernando Molina e72df550cd Merge pull request #2694 from BlaaSwe/develop
Contribution: added Alligator data-mine
2021-11-22 06:37:21 -04:00
Luis Fernando Molina 1842f1b810 Update .gitignore 2021-11-22 10:45:48 +01:00
Luis Fernando Molina 0a1363a040 Platform Launch for Debug fixed 2021-11-22 10:45:39 +01:00
Luis Fernando Molina c8b3c9c5e7 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-22 10:27:47 +01:00
Luis Fernando Molina 0359638061 Merge pull request #2692 from Smidy13/develop
Improvement: Adding List Selector for Missing Projects
2021-11-22 05:18:55 -04:00
Smidy13 af79109a0e Improvement: Adding Path to Create Reference 2021-11-22 12:01:56 +13:00
Luis Fernando Molina 71124874c0 Merge pull request #2676 from diveyez/debian-setup
Debian Setup Fix & WSL2 / VSCode Setup Info
2021-11-21 13:33:58 -04:00
BlaaSwe c4561a09ed Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-21 17:31:10 +01:00
BlaaSwe f4ff8a4956 added Alligator data-mine 2021-11-21 17:28:09 +01:00
eNut 3a6acecfc9 [Dutch translations] 2021-11-21 14:32:47 +01:00
Luis Fernando Molina 79f8efe532 Update release_build_dev.yml 2021-11-21 08:26:30 +01:00
Smidy13 335637cb09 Improvement: Adding List Selector for Missing Projects 2021-11-21 17:45:37 +13:00
prepheadrus a2b78e1b35 Translation of Your User Profile Tutorial into Turkish 021/022/023/024/025/026/027/028 2021-11-21 01:15:28 +03:00
Superalgos Bot 9a0ce7ae68 Changes in User Profile done by Profile Owner claudioLopezSA automatically merged by Superalgos.
Contribution: User Profile claudioLopezSA
2021-11-20 22:56:20 +01:00
gcatrinakw 4f394ed8f3 User Profile claudioLopezSA 2021-11-20 18:55:38 -03:00
EvaMaria70 4618a46783 This is my contribution to Superalgos 2021-11-20 20:32:47 +01:00
EvaMaria70 f509cc1f84 This is my contribution to Superalgos 2021-11-20 20:29:04 +01:00
EvaMaria70 7b14f88986 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-20 18:08:24 +01:00
EvaMaria70 04ff8b9ee1 This is my contribution to Superalgos 2021-11-20 18:08:11 +01:00
EvaMaria70 91342ecdf6 This is my contribution to Superalgos 2021-11-20 17:50:17 +01:00
Luis Fernando Molina d3827cf6e3 Merge pull request #2680 from Raplh2502/develop
Contribution: fix the WEMA datamine and add low pass filter component ; finalization of WEMA trading system
2021-11-20 12:03:47 -04:00
Luis Fernando Molina cd7edc9a77 Merge pull request #2682 from ssplatt/optional-dependencies
Optional-dependencies
2021-11-20 12:03:25 -04:00
Luis Fernando Molina 6071d68c10 Merge pull request #2684 from EvaMaria70/develop
Contribution: This is my contribution to Superalgos
2021-11-20 12:02:40 -04:00
Luis Fernando Molina c225e70858 Merge pull request #2686 from harrellbm/develop
Add Greek Language
2021-11-20 12:02:11 -04:00
Brenden Harrell 6167bb8173 Add Greek Language 2021-11-20 07:22:24 -07:00
gitforkgit f3e2b74dcf (translation into german: "Node js Javascript") 2021-11-20 14:57:35 +01:00
B Harrell ac8ea8eebe Merge pull request #2618 from gitforkgit/develop 2021-11-20 06:50:23 -07:00
gitforkgit d9d2586972 (translation into german: "Api Map" and small change in english original) 2021-11-20 14:42:33 +01:00
EvaMaria70 e4ba174084 This is my contribution to Superalgos 2021-11-20 12:16:36 +01:00
gitforkgit 271996e4db (Translation into german: "API-Endpoint") 2021-11-20 12:15:39 +01:00
EvaMaria70 beae77dcfb Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-20 12:03:44 +01:00
EvaMaria70 f3af733856 This is my contribution to Superalgos 2021-11-20 12:03:30 +01:00
gitforkgit 40c651dd75 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-20 11:40:09 +01:00
Brett Taylor e8750f030d set tensorflow/tfjs-node as optional 2021-11-19 20:40:51 -05:00
Superalgos Bot ef0fa3c360 Changes in User Profile done by Profile Owner Tyhote automatically merged by Superalgos.
Contribution: User Profile Tyhote
2021-11-20 01:57:24 +01:00
Tristan Dow 257399d155 User Profile Tyhote 2021-11-19 18:57:06 -06:00
Raplh2502 50f553324e fix the WEMA datamine and add low pass filter component ; finalization of WEMA trading system 2021-11-20 00:47:46 +00:00
gitforkgit ed66d9dc23 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-19 23:22:54 +01:00
Luis Fernando Molina f6fd9d85c1 Merge pull request #2679 from ssplatt/setup-exit-on-error
Add exit 1 when setup fails
2021-11-19 18:01:05 -04:00
gitforkgit c691a8f6c2 Merge branch 'Superalgos:develop' into develop 2021-11-19 22:37:25 +01:00
Brett Taylor 49ed4b4e53 add exit code 1 if setup fails to install modules 2021-11-19 15:44:40 -05:00
Tristan Dow d364000463 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-19 14:40:49 -06:00
Luis Fernando Molina b5bb247431 Merge pull request #2677 from PLuv/portfolio-management
Portfolio Management merge develop && Managed-Tasks && Managed-Sessions && Plugins && Engine && Mine
2021-11-19 08:36:25 -04:00
Philip Love 1be6670171 Portfolio-Management Commit:
Managed Tasks: Starts referenced tasks from around workspace

Managed Sessions: Starts referenced sessions from around workspace

Install Market: Most install is hooked up, some may need refining later after Logic written
2021-11-19 01:59:47 -05:00
Philip Love 977035bad8 Add: Icons for Portfolio-Management Project 2021-11-19 01:55:53 -05:00
Philip Love 5065927474 Add: Community Plugins for Portfolio-Management Project 2021-11-19 01:54:47 -05:00
Philip Love dc8a933345 Merge branch 'develop' into portfolio-management 2021-11-19 01:44:28 -05:00
Luis Fernando Molina 75f81cb144 Merge pull request #2673 from Luis-Fernando-Molina/develop
Contribution: This is my contribution to Superalgos
2021-11-18 16:25:20 -04:00
Luis Fernando Molina c5c4f545e3 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-18 21:25:00 +01:00
Luis Fernando Molina e2624a31f8 This is my contribution to Superalgos 2021-11-18 21:24:29 +01:00
Luis Fernando Molina 382b47dc7f Merge pull request #2672 from Loui-Molina/develop
Contribution: Fix ProjectSchema propertyName
2021-11-18 16:19:15 -04:00
Axel b5d87dd1eb Fix ProjectSchema propertyName 2021-11-18 16:56:35 -03:00
Superalgos Bot 2ff182a4df Changes in User Profile done by Profile Owner Neobii automatically merged by Superalgos.
Contribution: User Profile Neobii
2021-11-18 16:20:07 +01:00
Luis Fernando Molina 0c7a26d42b Merge pull request #2664 from prepheadrus/develop
Translation of Your User Profile Tutorial into Turkish 001/002/003/004/005/006
2021-11-18 11:16:57 -04:00
Luis Fernando Molina e8eb447f49 Merge pull request #2665 from EvaMaria70/develop
Contribution: This is my contribution to Superalgos
2021-11-18 11:16:39 -04:00
Luis Fernando Molina 1d5cc615e1 Merge pull request #2667 from harrellbm/develop
Update docs add command Docs
2021-11-18 11:14:34 -04:00
Luis Fernando Molina 926dd38018 Merge pull request #2668 from Raplh2502/develop
Contribution: creation of WEMA trading system
2021-11-18 11:13:56 -04:00
Luis Fernando Molina e718d7c923 Merge pull request #2671 from ssplatt/okex-brokerid
update config options object parsing
2021-11-18 11:08:37 -04:00
prepheadrus 15fad14f3e Translation of Your User Profile Tutorial into Turkish 012/013/014/015/016/017/018/019/020 2021-11-18 18:08:11 +03:00
Brett Taylor 6fd383265e update config options object parsing 2021-11-18 09:27:12 -05:00
EvaMaria70 11baeece23 This is my contribution to Superalgos 2021-11-18 12:14:53 +01:00
EvaMaria70 f302f4e0ba This is my contribution to Superalgos 2021-11-18 11:52:09 +01:00
EvaMaria70 0e9e0beba5 This is my contribution to Superalgos 2021-11-18 11:14:02 +01:00
R Neff 12742b0d08 More setup information
VSCode + Docker + SuperAlgos
2021-11-18 01:39:55 -08:00
R Neff 39c21a926e Deb/WSL2 Config w/ VSCode Docker Tricks
Updated node 16.x to 17.x because of a version requirement.

Added install/setup instructions on how to platform from Windows while using Linux. Debian/WSL2 NVM fix for node versions.
2021-11-18 01:34:44 -08:00
EvaMaria70 f7de4a1fab Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-18 10:21:16 +01:00
prepheadrus d8701f2e2d Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-18 10:06:33 +03:00
Neobii e3d1e17db8 User Profile Neobii 2021-11-18 00:43:04 -06:00
Raplh2502 511c2f8c04 creation of WEMA trading system 2021-11-17 22:53:16 +00:00
Brenden Harrell 4118f01d35 Update docs add command 2021-11-17 14:55:38 -07:00
EvaMaria70 7788792cd7 This is my contribution to Superalgos 2021-11-17 16:55:49 +01:00
prepheadrus 5d6a47d666 Translation of Your User Profile Tutorial into Turkish 006/007/008/009/010/011 2021-11-17 17:57:47 +03:00
Luis Fernando Molina 4d263c6246 Merge pull request #2659 from ssplatt/config-client-id
set brokerid for okex
2021-11-17 10:56:36 -04:00
Brett Taylor ed59406d6a move the options hash to the Exchange node configuration 2021-11-17 09:54:25 -05:00
prepheadrus 366f668eeb Creating-Your-User-Profile-Tutorial 001/002/003/004/005/006 2021-11-17 14:16:20 +03:00
Luis Fernando Molina 3eef2423e5 Merge pull request #2663 from NAmorim/develop
[Distribution] Semver correction
2021-11-17 07:03:36 -04:00
NAmorim c002a8034a [Distribution] Semver correction 2021-11-17 10:59:48 +00:00
Luis Fernando Molina 3e811e2992 Merge pull request #2645 from e-Nut/develop
Contribution: [Dutch Translations]
2021-11-17 04:12:08 -04:00
Luis Fernando Molina 48388eff58 Merge pull request #2646 from MarinitaMarina/develop
Contribution: Translation into Russian Getting Started Tutorial (step 66-70)
2021-11-17 04:11:54 -04:00
Luis Fernando Molina 7039030ccf Merge pull request #2655 from ssplatt/add-stalebot-config
add stale bot config
2021-11-17 04:11:32 -04:00
Luis Fernando Molina 1806f3bb1c Merge pull request #2658 from NAmorim/develop
Contribution: Enable Tensorflow (Learning Tasks)
2021-11-17 04:11:07 -04:00
Luis Fernando Molina 31b9372ea6 Merge pull request #2661 from quantum8/develop
Docs and update to Heikin datamine
2021-11-17 04:01:19 -04:00
Luis Fernando Molina 092b34b4bc Merge pull request #2662 from PLuv/portfolio-management
Portfolio management
2021-11-17 04:00:05 -04:00
Superalgos Bot 11ae97fa98 Changes in User Profile done by Profile Owner Loui-Molina automatically merged by Superalgos.
Contribution: User Profile Loui-Molina
2021-11-17 08:17:25 +01:00
Superalgos Bot 0cb53d51bd Changes in User Profile done by Profile Owner gonzalocatrina automatically merged by Superalgos.
Contribution: User Profile gonzalocatrina
2021-11-17 08:17:20 +01:00
Superalgos Bot 6ab26e6529 Changes in User Profile done by Profile Owner gustavohcorradi automatically merged by Superalgos.
Contribution: This is my contribution to Superalgos
2021-11-17 08:16:18 +01:00
Philip Love 7e339667e6 Add: New Schemas nodes 2021-11-17 01:29:54 -05:00
Philip Love b3c51cd7c9 Add Managed Tasks|Sessions to LightingPath
Did not add runAllSessions
2021-11-17 01:28:52 -05:00
Brett Taylor 6260efcff6 genericize the options hash more 2021-11-16 22:51:23 -05:00
quantum8 7d663ef35f Docs and update to Heikin datamine 2021-11-17 10:01:51 +10:00
gustavohcorradi b6bbe24b18 This is my contribution to Superalgos 2021-11-17 00:09:03 +01:00
Brett Taylor f99a1d2f5d set brokerid for okex 2021-11-16 16:49:33 -05:00
NAmorim 21778b22c7 Contribution: Enable Tensorflow (Learning Tasks) 2021-11-16 19:45:36 +00:00
ssplatt 210ba0d73a add stale bot config 2021-11-16 09:35:19 -05:00
Phil babeb1ec36 Merge pull request #2653 from PLuv/portfolio-management
fixed a refactor bug
2021-11-16 02:59:41 -05:00
Philip Love 3f05fdb3b9 fixed a refactor bug 2021-11-16 02:54:37 -05:00
gcatrinakw d378e14c1d User Profile gonzalocatrina 2021-11-15 21:45:44 -03:00
Axel 34b47ea5d1 User Profile Loui-Molina 2021-11-15 20:46:28 -03:00
Luis Fernando Molina c084418cbf Merge pull request #2648 from Raplh2502/develop
Contribution: New datamine for Signal processing tools with Low and High pass filters
2021-11-15 17:38:46 -04:00
Raplh2502 e5e441065c New datamine for Signal processing tools with Low and High pass filters 2021-11-15 20:18:00 +00:00
Superalgos Bot 7a228e85ae Changes in User Profile done by Profile Owner prepheadrus automatically merged by Superalgos.
User Profile Update
2021-11-15 20:06:41 +01:00
Luis Fernando Molina bc52f7cd58 Merge pull request #2647 from PLuv/portfolio-management
See PM-Construction Workspace
2021-11-15 15:05:16 -04:00
Philip Love e9d9685237 See PM-Construction Workspace 2021-11-15 13:56:35 -05:00
Philip Love a62e170a43 Merge branch develop into portfolio-management 2021-11-15 13:55:00 -05:00
MarinitaMarina a72b1bc8d4 Translation into Russian Getting Started Tutorial (step 66-70) 2021-11-15 16:22:15 +01:00
eNut aeb5d28327 [Dutch Translations] 2021-11-15 13:32:20 +01:00
prepheadrus 0d18a3f53e User Profile Update 2021-11-15 14:10:45 +03:00
Luis Fernando Molina c872f6d1ba Merge pull request #2643 from Luis-Fernando-Molina/develop
Contribution: Governance Bug Fix: File Changed List not considering pagination
2021-11-15 05:42:49 -04:00
Luis Fernando Molina 0423793d30 Governance Bug Fix: File Changed List not considering pagination 2021-11-15 10:38:21 +01:00
Superalgos Bot 2220e87f5a Changes in User Profile done by Profile Owner 9808us automatically merged by Superalgos.
9808us User Profile Liquidity
2021-11-15 10:01:29 +01:00
Luis Fernando Molina a4184f96b7 Merge pull request #2639 from Raplh2502/develop
Contribution: Update Trading Mine with correct references for WEMA strategy data mine
2021-11-15 04:59:07 -04:00
Luis Fernando Molina 734a20570d Merge pull request #2640 from quantum8/develop
Added documentation to the quantum data mine
2021-11-15 04:58:50 -04:00
9808us 370c502539 9808us User Profile Liquidity 2021-11-15 09:45:18 +01:00
Luis Fernando Molina f91a3386cf Merge pull request #2641 from Luis-Fernando-Molina/develop
Contribution: Demo Mode Improvements
2021-11-15 04:42:15 -04:00
Luis Fernando Molina ebc139bee6 Demo Mode Improvements 3 2021-11-15 09:41:15 +01:00
Luis Fernando Molina b91018071e Demo Mode Improvements 2 2021-11-15 09:40:19 +01:00
Luis Fernando Molina 031dbdbe25 Demo Mode Improvements 2021-11-15 09:37:49 +01:00
prepheadrus b182a98558 Merge branch 'develop' of https://github.com/prepheadrus/Superalgos into develop 2021-11-15 09:31:49 +03:00
quantum8 e8f9eec93b Added documentation to the quantum data mine 2021-11-15 11:24:38 +10:00
Raplh2502 36dcb05eba Update Trading Mine with correct references for WEMA strategy data mine 2021-11-14 21:29:34 +00:00
Luis Fernando Molina e8e2d93c06 Merge pull request #2638 from Superalgos/develop
Develop into Master
2021-11-14 15:16:21 -04:00
Luis Fernando Molina 395f6919a3 Merge pull request #2637 from Luis-Fernando-Molina/develop
Contribution: Version Changed
2021-11-14 15:15:53 -04:00
Luis Fernando Molina 13d2717462 Version Changed 2021-11-14 20:15:38 +01:00
Luis Fernando Molina 6341bca2a1 Merge pull request #2636 from Superalgos/develop
Develop into Master - last minute bug fixes
2021-11-14 15:13:11 -04:00
Luis Fernando Molina bbf19a9194 Merge pull request #2634 from Tentacule23/develop
Contribution: tutorial_previous_fix Tentacule23
2021-11-14 15:09:52 -04:00
prepheadrus fe7916b518 Update prepheadrus.json 2021-11-14 22:02:49 +03:00
Julian Molina 856f8334a4 Merge pull request #2635 from julian-molina/develop
Contribution: Fixes to getting started tutorials pages
2021-11-14 19:56:27 +01:00
Julian Molina 9cdb1842c1 Docs footer fix 2021-11-14 19:55:20 +01:00
Julian Molina 683ceea619 Deprecating the Plugins-Docs branch 2021-11-14 19:51:23 +01:00
Julian Molina 6aca8f406b Fixes to getting started tutorials pages 2021-11-14 19:32:43 +01:00
Tentacule23 f3d14673bb tutorial_previous_fix Tentacule23 2021-11-14 13:25:16 -05:00
prepheadrus 7b0475e21e This is my contribution to Superalgos 2021-11-14 21:19:06 +03:00
prepheadrus dfc5075616 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-14 20:22:43 +03:00
Luis Fernando Molina 2e9796b46b Merge pull request #2633 from Superalgos/develop
Develop into Master version # fixed
2021-11-14 13:17:44 -04:00
Luis Fernando Molina 889c5c40cf Merge pull request #2632 from Luis-Fernando-Molina/develop
Contribution: version number without v
2021-11-14 13:17:13 -04:00
Luis Fernando Molina c47ad47aa9 version number without v 2021-11-14 18:16:54 +01:00
Luis Fernando Molina a85662d5b2 Merge pull request #2631 from Superalgos/develop
Develop into Master with some fixes
2021-11-14 13:11:38 -04:00
Luis Fernando Molina cfd4c88f58 Merge pull request #2630 from Luis-Fernando-Molina/develop
Contribution: version number fixed
2021-11-14 13:08:49 -04:00
Luis Fernando Molina 50570827ff version number fixed 2021-11-14 18:06:58 +01:00
Julian Molina e0d171ef21 Merge pull request #2629 from julian-molina/develop
Contribution: Workspaces fixes
2021-11-14 18:02:40 +01:00
Julian Molina afeca27dc3 Docs placeholder color change 2021-11-14 18:02:05 +01:00
Julian Molina f57233f81f Minor docs fix 2021-11-14 17:45:49 +01:00
Julian Molina 84d180f124 Workspaces fixes 2021-11-14 17:32:38 +01:00
Julian Molina 3430ddfec8 Merge pull request #2628 from julian-molina/develop
Contribution: Workspaces fixes
2021-11-14 17:23:02 +01:00
Julian Molina c90636f252 Blank workspace fix 2021-11-14 17:22:30 +01:00
Julian Molina 80e0e2c986 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-14 17:17:15 +01:00
Julian Molina 7a712faae4 Trading Bot Layers workspace fix 2021-11-14 17:16:44 +01:00
Julian Molina 2d4ef700b1 Workspaces fixes 2021-11-14 17:11:01 +01:00
prepheadrus bf1f9caefc User Profile Update 2021-11-14 18:55:07 +03:00
Luis Fernando Molina 4786b4661b Merge pull request #2626 from Superalgos/develop
Develop into Master Superalgos Platform v.1.0
2021-11-14 10:15:40 -04:00
Luis Fernando Molina 083c63e515 Merge pull request #2625 from Superalgos/develop
Develop into Plugins-Docs
2021-11-14 10:07:51 -04:00
Luis Fernando Molina 504338d02e Merge pull request #2624 from Superalgos/plugins-docs
Plugins docs into develop
2021-11-14 10:07:10 -04:00
Luis Fernando Molina 14b70783a6 Merge pull request #2623 from Luis-Fernando-Molina/develop
Contribution: v.1.0 replaces Beta 12
2021-11-14 10:05:37 -04:00
Luis Fernando Molina 9cf4876007 v.1.0 replaces Beta 12 2021-11-14 15:03:55 +01:00
Luis Fernando Molina 11eedc9a5b Merge pull request #2612 from MarinitaMarina/develop
Contribution: Translation into Russian Getting Started Tutorial (step 60-65)
2021-11-14 09:10:26 -04:00
Luis Fernando Molina 236cb7c59e Update welcome-to-superalgos-065-tutorial-step-civil-works-ahead.json 2021-11-14 14:09:36 +01:00
Luis Fernando Molina 73eb8a94bc Update welcome-to-superalgos-064-tutorial-step-machines-learn-too.json 2021-11-14 14:07:12 +01:00
Luis Fernando Molina 13956f820b Update welcome-to-superalgos-063-tutorial-step-aim-high-trade-big.json 2021-11-14 14:06:27 +01:00
Luis Fernando Molina 1641fa3926 Merge pull request #2622 from Luis-Fernando-Molina/develop
Contribution: Governance System, bug fixes for web3 calls.
2021-11-14 09:03:02 -04:00
Luis Fernando Molina e2cc9a1280 Network node bug fix 2021-11-14 14:01:34 +01:00
Luis Fernando Molina 8d2c9d2646 Governance System, bug fixes for web3 calls. 2021-11-14 13:53:29 +01:00
Luis Fernando Molina c7d89ae6fa Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-14 13:17:12 +01:00
Luis Fernando Molina 1a5414e3d9 Merge pull request #2616 from prepheadrus/develop
basic-education-tutorial translation into Turkish 017/018/019/020/021/022
2021-11-14 07:46:28 -04:00
Luis Fernando Molina d7c5ab3fa3 Merge pull request #2611 from end-debug/develop
Contribution: This is my contribution to Superalgos
2021-11-14 07:46:13 -04:00
Luis Fernando Molina 8eaf0c25d7 Merge pull request #2621 from Smidy13/develop
Improvement: Obtain Wallet and Liquidity Balances via WEB3
2021-11-14 07:45:18 -04:00
Smidy 13cac7a812 Merge branch 'Superalgos:develop' into develop 2021-11-15 00:03:46 +13:00
Smidy13 939a8bf6c7 Improvement: Obtain Wallet and Liquidity Balances via WEB3 2021-11-15 00:02:55 +13:00
Superalgos Bot 66c9f8a70b Changes in User Profile done by Profile Owner mARTin-B78 automatically merged by Superalgos.
Contribution: User Profile mARTin-B78
2021-11-14 00:05:01 +01:00
mARTin-B78 69fb84e054 User Profile mARTin-B78 2021-11-13 23:04:01 +00:00
Luis Fernando Molina 6cf6c80ec2 Merge pull request #2619 from alexandrustefan/develop
Fix charting space scrolling
2021-11-13 16:53:34 -04:00
Alexandru Stefan 4b36f5b8d1 Merge branch 'develop' of https://github.com/alexandrustefan/Superalgos into develop 2021-11-13 22:07:43 +02:00
Alexandru Stefan 3291855813 fix charting space scrolling 2021-11-13 22:07:39 +02:00
gitforkgit accd4b19a7 (translation into german: "App contribute command") 2021-11-13 15:35:09 +01:00
SIFISO KHUMALO 71b7aaacd0 This is my contribution to Superalgos 2021-11-13 16:06:32 +02:00
Luis Fernando Molina 6495cd77de httpInterface at Node implemented 2021-11-13 14:50:24 +01:00
SIFISO KHUMALO 3a6e92605d Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-13 15:40:07 +02:00
gitforkgit 9b7051ec71 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-13 14:29:10 +01:00
Luis Fernando Molina dd471aa0e8 Merge pull request #2617 from alexandrustefan/develop
Extend Code Editor functionality
2021-11-13 07:34:23 -04:00
Luis Fernando Molina e91e135ef7 Post queries 2021-11-13 12:19:51 +01:00
Luis Fernando Molina 9fab335a30 Storing Signal Data at the Social Graph 2021-11-13 12:14:42 +01:00
Luis Fernando Molina e54be502c9 Post and Reaction Types 2021-11-13 12:05:40 +01:00
Alexandru Stefan 64e3afe2da fixed deepscan 2021-11-13 13:01:09 +02:00
Alexandru Stefan acca8523ee Merge branch 'develop' of https://github.com/alexandrustefan/Superalgos into develop 2021-11-13 12:54:50 +02:00
Alexandru Stefan f35492f544 when a node is being droped in the workspace recreate intellisense models 2021-11-13 12:53:33 +02:00
Luis Fernando Molina ace0f17ca8 Signals Js 2021-11-13 11:47:46 +01:00
Luis Fernando Molina e39ec7b282 typo 2021-11-13 11:19:02 +01:00
Alexandru Stefan be695ae192 refactored a bit the intellisense model building; added support for market and exchange objects for code editor 2021-11-13 12:18:05 +02:00
Luis Fernando Molina 0eb8a16c60 Signal.js 2021-11-13 11:10:28 +01:00
Luis Fernando Molina 2fa5dde807 Update Memory.js 2021-11-13 10:53:26 +01:00
Luis Fernando Molina b3bc7ca289 Update ClientInterface.js 2021-11-13 10:46:15 +01:00
Luis Fernando Molina 3a4811d541 Merge pull request #2592 from gitforkgit/develop
Contribution: (translation into german: "plotter module")
2021-11-13 04:44:49 -04:00
prepheadrus fa3006cd64 Basic-Education\basic-education-017/018/019/020/021/022 2021-11-13 11:44:10 +03:00
Luis Fernando Molina 45349ce060 Merge pull request #2614 from theblockchainarborist/plugins-docs
Contribution: My Superalgos Review
2021-11-13 04:43:39 -04:00
prepheadrus c5a4a8a666 Merge branch 'develop' of https://github.com/prepheadrus/Superalgos into develop 2021-11-13 10:31:33 +03:00
Superalgos Bot 97cc7d94c8 Changes in User Profile done by Profile Owner JasonDeSouza automatically merged by Superalgos.
User Profile
2021-11-13 03:42:51 +01:00
JasonDeSouza 3e2d5843f2 User Profile 2021-11-13 08:10:56 +05:30
xcon 860dc1d742 My Superalgos Review 2021-11-12 20:09:12 -05:00
Alexandru Stefan a8a713049a removed docs stating that a decent code editor is not available :-) 2021-11-13 02:43:23 +02:00
Alexandru Stefan 7cbb821601 reset code editor space while changing workspaces. forbid designer shortcuts while editing code 2021-11-13 02:35:59 +02:00
prepheadrus 4251ea882c Basic-education-tutorial translation into Turkish 012/013/015/016 2021-11-13 00:35:57 +03:00
Superalgos Bot f153322971 Changes in User Profile done by Profile Owner alexbacanu automatically merged by Superalgos.
Contribution: User Profile alexbacanu
2021-11-12 22:12:48 +01:00
gitforkgit a113e50cad Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-12 22:12:22 +01:00
alexbacanu e21a73f69c Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-12 23:09:12 +02:00
alexbacanu 6c6193b43b User Profile alexbacanu 2021-11-12 23:07:53 +02:00
gitforkgit 4d77fb3d98 (translation into german: "Docs in xx" Articles) 2021-11-12 22:02:40 +01:00
MarinitaMarina 7b38dbe069 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-12 22:01:22 +01:00
MarinitaMarina e76112dc98 Translation into Russian Getting Started Tutorial (step 60-65) 2021-11-12 21:55:02 +01:00
SIFISO KHUMALO db9653be01 This is my contribution to Superalgos 2021-11-12 22:44:18 +02:00
prepheadrus 6777fdfd8e basic-education-tutorial translation into Turkish 007/008/009/010/011 2021-11-12 23:42:09 +03:00
gitforkgit 632424a245 (addition to the docs in "different languages") 2021-11-12 21:41:08 +01:00
Luis Fernando Molina de1114a257 Merge pull request #2607 from liteir/plugins-docs
Contribution: This is my contribution to Superalgos
2021-11-12 16:09:18 -04:00
gitforkgit e912faa91b Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-12 21:09:07 +01:00
Luis Fernando Molina 9a7f2713f9 Merge pull request #2609 from Superalgos/plugins-docs
Plugins docs into Develop
2021-11-12 16:08:42 -04:00
gitforkgit 81d8d58244 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-12 21:08:13 +01:00
Luis Fernando Molina 79551caae6 Merge pull request #2608 from Superalgos/develop
Develop into Plugins Docs
2021-11-12 16:08:01 -04:00
gitforkgit 8800164ee0 (translation into german: "Nodes") 2021-11-12 21:02:47 +01:00
gitforkgit c415e9c9d8 Merge branch 'develop' into develop 2021-11-12 21:02:07 +01:00
Luis Fernando Molina 8276554a71 Merge pull request #2603 from EvaMaria70/develop
Contribution: This is my contribution to Superalgos
2021-11-12 15:06:11 -04:00
liteir 9badc0d0ac Merge branch 'plugins-docs' of https://github.com/liteir/Superalgos into plugins-docs 2021-11-12 12:45:12 -06:00
liteir cfa449d88b This is my contribution to Superalgos 2021-11-12 12:01:48 -06:00
EvaMaria70 1e2532e3e6 This is my contribution to Superalgos 2021-11-12 18:35:29 +01:00
EvaMaria70 a656d4dc84 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-12 15:41:29 +01:00
EvaMaria70 49b54f0959 This is my contribution to Superalgos 2021-11-12 15:41:08 +01:00
Superalgos Bot 324806d8dc Changes in User Profile done by Profile Owner prepheadrus automatically merged by Superalgos.
Contribution: User Profile prepheadrus
2021-11-12 14:32:45 +01:00
prepheadrus fee10a3848 Contribution: User Profile prepheadrus 2021-11-12 16:31:27 +03:00
EvaMaria70 1947b1803a This is my contribution to Superalgos 2021-11-12 13:20:29 +01:00
Superalgos Bot 91e7616a02 Changes in User Profile done by Profile Owner gustavohcorradi automatically merged by Superalgos.
Contribution: This is my contribution to Superalgos
2021-11-12 13:07:39 +01:00
Superalgos Bot 7a74b79d3c Changes in User Profile done by Profile Owner NAmorim automatically merged by Superalgos.
User Profile Update - P2P addon
2021-11-12 13:07:34 +01:00
NAmorim 423b0e24f9 User Profile Update - P2P addon 2021-11-12 11:58:19 +00:00
Alexandru Stefan 1c90ec5deb merged develop 2021-11-12 13:44:54 +02:00
Alexandru Stefan 81bab4475d fixed deepscan issues for code editor space 2021-11-12 13:35:32 +02:00
EvaMaria70 e4901adfca Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-12 12:02:35 +01:00
Luis Fernando Molina 489329a51f Merge pull request #2600 from alexandrustefan/code_editor_space
Code editor space
2021-11-12 06:08:45 -04:00
Luis Fernando Molina 8492350495 Merge pull request #2601 from Superalgos/develop
Develop into Master - Beta 12 - SP1
2021-11-12 05:47:26 -04:00
Alexandru Stefan f06af0b3b1 Merge branch 'develop' of https://github.com/alexandrustefan/Superalgos into code_editor_space 2021-11-12 11:22:40 +02:00
Luis Fernando Molina f237aeb261 Merge pull request #2599 from PLuv/develop
Pluvtech-DM- Corrected how trend is displayed at charts; reduced data…
2021-11-12 04:38:49 -04:00
Luis Fernando Molina f2f926dd55 Merge pull request #2593 from prepheadrus/develop
welcome-to-superalgos-tutorial
2021-11-12 04:38:18 -04:00
prepheadrus 933cbfe712 basic-education-001-002-003-004-005-006 2021-11-12 10:02:27 +03:00
Philip Love 45d3830496 Pluvtech-DM- Corrected how trend is displayed at charts; reduced data-storage footprint 2021-11-11 22:23:01 -05:00
Phil 620cc30d94 Merge pull request #2598 from PLuv/develop
TF - Workspace Reconfiguration
2021-11-11 21:46:39 -05:00
Philip Love 402c05b6b7 TF - Workspace Reconfiguration 2021-11-11 21:41:41 -05:00
Alexandru Stefan 29d1bd786f added some styling 2021-11-12 02:17:10 +02:00
Luis Fernando Molina 9b02dd2b51 Merge pull request #2594 from ssplatt/npm-scripts
add special setup stages to package.json
2021-11-11 19:44:34 -04:00
Luis Fernando Molina 91265ed3e6 Merge pull request #2597 from harrellbm/develop
Update definition highlight in page
2021-11-11 19:42:40 -04:00
Alexandru Stefan 16ba158293 added autocompletion for chart object; some refactoring 2021-11-12 01:40:39 +02:00
Brenden Harrell 5466c23921 Update definition highlight in page 2021-11-11 16:22:50 -07:00
gitforkgit eef78bc729 (translation into german: "project") 2021-11-11 23:21:41 +01:00
Julian Molina 3264edf714 Merge pull request #2596 from julian-molina/develop
Contribution: Getting Started Tutorials workspace live trading fix
2021-11-11 23:09:24 +01:00
Julian Molina 7d1cd43018 Getting Started Tutorials workspace live trading fix 2021-11-11 23:08:51 +01:00
gitforkgit 0a72ea8d58 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-11 23:01:11 +01:00
gitforkgit 1437677173 (Translation into german: another part) 2021-11-11 22:56:04 +01:00
gustavohcorradi 26af94c11c This is my contribution to Superalgos 2021-11-11 22:48:34 +01:00
Phil 7d7826c8f3 Merge pull request #2591 from PLuv/develop
DCA-Demo Reconfiguration
2021-11-11 15:59:56 -05:00
gitforkgit 078960ad5b Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-11 21:57:49 +01:00
prepheadrus 8893c3c5fe welcome-to-superalgos-tutorial 2021-11-11 23:55:32 +03:00
Philip Love 4620f48f1e DCA-Demo Reconfiguration 2021-11-11 15:48:42 -05:00
Luis Fernando Molina 732c38a462 Merge pull request #2589 from harrellbm/develop
Manual review of Custom Charts Workspace
2021-11-11 16:42:00 -04:00
Luis Fernando Molina cc455c3632 Merge pull request #2588 from gitforkgit/develop
Contribution: (translation into german: only small part)
2021-11-11 16:41:45 -04:00
Luis Fernando Molina 0a3b773b5a Merge pull request #2580 from EvaMaria70/develop
Contribution: This is my contribution to Superalgos
2021-11-11 16:41:24 -04:00
Luis Fernando Molina 9c3a57b238 Merge pull request #2581 from prepheadrus/develop
Welcome-to-Superalgos\welcome-to-superalgos102-105
2021-11-11 16:41:17 -04:00
Superalgos Bot b912266c94 Changes in User Profile done by Profile Owner amuradon automatically merged by Superalgos.
Contribution: User Profile amuradon
2021-11-11 21:40:47 +01:00
Superalgos Bot da75550a27 Changes in User Profile done by Profile Owner whtv automatically merged by Superalgos.
Contribution: User Profile whtv
2021-11-11 21:40:42 +01:00
Superalgos Bot 6dadce2faa Changes in User Profile done by Profile Owner theblockchainarborist automatically merged by Superalgos.
Contribution: My Superalgos Review
2021-11-11 21:40:36 +01:00
xcon 604ae13468 My Superalgos Review 2021-11-11 15:16:38 -05:00
harrellbm 9a43a65718 Manual review of Custom Charts Workspace 2021-11-11 14:08:41 -06:00
gitforkgit 839f795795 (translation into german: "plotter module") 2021-11-11 20:55:51 +01:00
gitforkgit f774563822 into german: "Expand Structure of Nodes") 2021-11-11 20:35:53 +01:00
gitforkgit ffe53075ff (translation into german: "indicator bot") 2021-11-11 20:24:08 +01:00
gitforkgit e4f54a5d6f (translation into german: only small part) 2021-11-11 20:17:13 +01:00
EvaMaria70 d7448b20a5 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-11 18:41:14 +01:00
Martin Augusta 642199b4c4 Merge branch 'Superalgos:develop' into develop 2021-11-11 17:17:05 +01:00
Alexandru Stefan 780d6e8540 added support for config editor; refactored the EditorPage.js file 2021-11-11 17:25:35 +02:00
prepheadrus f492b96eed Welcome-to-Superalgos\welcome-to-superalgos-109-110 2021-11-11 18:15:10 +03:00
Brett Taylor 116c59361b add special setup stages to package.json 2021-11-11 09:57:35 -05:00
prepheadrus f43ed9371f Welcome-to-Superalgos\welcome-to-superalgos-104-106 2021-11-11 17:41:23 +03:00
whtv 00efc14aca User Profile whtv 2021-11-11 15:40:52 +01:00
Alexandru Stefan 1491c2b93e added autocompletion suport for all the record formulas present in the workspace; extended httpInterface externalScripts functionality 2021-11-11 15:47:02 +02:00
Julian Molina 0066a541e4 Merge pull request #2585 from julian-molina/develop
Contribution: Gettings started tutorial fix
2021-11-11 14:37:54 +01:00
Julian Molina 4973740abb Gettings started tutorial fix 2021-11-11 14:37:19 +01:00
Julian Molina d4f578246e Merge pull request #2582 from julian-molina/develop
Contribution: Install New Market tutorial revision
2021-11-11 14:01:42 +01:00
Martin Augusta 04160b1f0e Contribution: User Profile amuradon 2021-11-11 14:01:27 +01:00
Julian Molina 7936936d41 Install New Market tutorial revision 2021-11-11 14:00:27 +01:00
prepheadrus a54685c062 Welcome-to-Superalgos\welcome-to-superalgos102-105 2021-11-11 15:38:04 +03:00
EvaMaria70 4ff12465de This is my contribution to Superalgos 2021-11-11 11:04:03 +01:00
EvaMaria70 5eb54079ec Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-11 10:54:09 +01:00
Luis Fernando Molina 1d3b0bd3de Merge pull request #2579 from Luis-Fernando-Molina/develop
Contribution: Bug Fixed at Governance start up
2021-11-11 04:31:51 -04:00
Luis Fernando Molina cd561af66e Merge pull request #2578 from Raplh2502/develop
Contribution: rename WEMA strat DM without spaces // update of masters trading mine wit new indicators dependencies
2021-11-11 04:31:37 -04:00
Luis Fernando Molina e1d68b0316 Merge pull request #2576 from MarinitaMarina/develop
Contribution: Translation into Russian Getting Started Totorial (Step 50-60)
2021-11-11 04:31:14 -04:00
Luis Fernando Molina 3bf7b1f61f Merge pull request #2574 from prepheadrus/develop
Welcome-to-superalgos-092-tutorial-step-check-your-spot-balanc…
2021-11-11 04:30:57 -04:00
Luis Fernando Molina 0bec8c51a4 Bug Fixed at Governance start up 2021-11-11 09:30:24 +01:00
B Harrell aadb7ef1c3 Merge pull request #2577 from alexandrustefan/develop 2021-11-10 21:45:35 -07:00
Raplh2502 eaa5918d1d rename WEMA strat DM without spaces 2021-11-10 23:49:06 +01:00
xcon b4c18e2e64 User Profile theblockchainarborist 2021-11-10 17:32:04 -05:00
Alexandru Stefan bf67554065 merged develop 2021-11-10 23:30:55 +02:00
Alexandru Stefan a6c212f4f6 Merge branch 'develop' of https://github.com/alexandrustefan/Superalgos into develop 2021-11-10 23:12:44 +02:00
Alexandru Stefan 0df7c165dc added external lib for handling tooltips 2021-11-10 23:12:07 +02:00
prepheadrus 0225c4fea9 Update welcome-to-superalgos-101-tutorial-step-is-it-working.json 2021-11-10 23:58:59 +03:00
prepheadrus be9bfa8090 Merge branch 'develop' of https://github.com/prepheadrus/Superalgos into develop 2021-11-10 23:55:24 +03:00
prepheadrus 203962e518 This is my contribution to Superalgos 2021-11-10 23:36:31 +03:00
MarinitaMarina d8986bf5c4 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-10 20:10:41 +01:00
MarinitaMarina 6899962aa7 Translation into Russian Getting Started Totorial (Step 50-60) 2021-11-10 19:48:00 +01:00
Julian Molina 4c9da84475 Merge pull request #2575 from julian-molina/develop
Contribution: Trading system design tutorials revision
2021-11-10 18:35:38 +01:00
Julian Molina 5bfb5614de Trading system design tutorials revision 2021-11-10 18:28:00 +01:00
EvaMaria70 28bee42d54 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-10 17:19:28 +01:00
EvaMaria70 f9ce8ddbae This is my contribution to Superalgos 2021-11-10 17:18:55 +01:00
Alexandru Stefan 01838ceecc changed formula editor to use codeeditor, added support for object autocomplete in the code editor 2021-11-10 16:18:11 +02:00
prepheadrus 4871f80df8 Update welcome-to-superalgos-092-tutorial-step-check-your-spot-balance.json 2021-11-10 16:58:29 +03:00
Luis Fernando Molina c281ec6094 Merge pull request #2573 from Luis-Fernando-Molina/develop
Contribution: P2P Network: - Broadcasting Events to Peers and Client Implemented
2021-11-10 09:55:32 -04:00
Luis Fernando Molina f754f61960 Merge pull request #2571 from Smidy13/develop
Bug Fix: Making Left Menu Icons Even
2021-11-10 09:55:00 -04:00
Luis Fernando Molina 1ea736b752 Merge pull request #2566 from NicN11/develop
Contribution: Translation into german of: "Chapter X - Install a New Market"
2021-11-10 09:54:45 -04:00
Luis Fernando Molina 57c586c28b P2P Network: - Broadcasting Events to Peers and Client Implemented 2021-11-10 14:53:38 +01:00
Luis Fernando Molina b5cf565a5b Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-10 14:52:48 +01:00
Luis Fernando Molina f40e415914 Event Reaching all Web Apps 2021-11-10 13:02:22 +01:00
Luis Fernando Molina c5564f1e69 Event received from browser to browser going through 1 network node 2021-11-10 12:44:50 +01:00
Smidy13 efeabaa69e Bug Fix: Making Left Menu Icons Even 2021-11-11 00:02:39 +13:00
Luis Fernando Molina 578f36eceb Message should arrive to the Web App 2021-11-10 12:02:02 +01:00
EvaMaria70 b449fbbb0b Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-10 10:39:37 +01:00
Luis Fernando Molina 105c5db3b1 Merge pull request #2565 from Raplh2502/develop
Contribution: finalization of the WEMA cross strategy datamine
2021-11-10 04:25:57 -04:00
NicN11 e262d18ffd Translation into german of: "Chapter X - Install a New Market" 2021-11-10 07:45:47 +01:00
NicN11 d7fbe7e9d7 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-10 07:41:06 +01:00
Alexandru Stefan 8fe28e68f9 added some models for autocompletion 2021-11-10 01:31:31 +02:00
Raplh2502 173317f0da finalization of the WEMA cross strategy datamine 2021-11-10 00:02:15 +01:00
Superalgos Bot 76ea5c6f70 Changes in User Profile done by Profile Owner BlaaSwe automatically merged by Superalgos.
Contribution: User Profile BlaaSwe
2021-11-09 23:22:23 +01:00
BlaaSwe 5e2d58ce6f User Profile BlaaSwe 2021-11-09 23:21:52 +01:00
BlaaSwe 8e13c4e189 User Profile BlaaSwe 2021-11-09 23:17:06 +01:00
BlaaSwe 105fab780f User Profile BlaaSwe 2021-11-09 23:02:31 +01:00
BlaaSwe a15dde7421 User Profile BlaaSwe 2021-11-09 22:35:21 +01:00
BlaaSwe 824888d30c User Profile BlaaSwe 2021-11-09 22:19:28 +01:00
BlaaSwe 4116957e69 User Profile BlaaSwe 2021-11-09 22:18:02 +01:00
EvaMaria70 edcb2f44bf Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-09 21:34:33 +01:00
B Harrell 85d794438c Merge pull request #2558 from harrellbm/develop
Fix tutorial references and split find missing refences and auto fix references in two
2021-11-09 10:05:08 -07:00
harrellbm b320a62709 Fix tutorial references and split auto referecne fix and check missing references in two 2021-11-09 10:56:59 -06:00
harrellbm f8784b1412 Merge branch 'develop' of https://github.com/harrellbm/Superalgos into develop 2021-11-09 09:11:20 -06:00
NicN11 38add53425 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-09 15:31:38 +01:00
Superalgos Bot 81bbcd2ef6 Changes in User Profile done by Profile Owner NicN11 automatically merged by Superalgos.
Contribution: User Profile NicN11
2021-11-09 15:25:22 +01:00
NicN11 3d66f23ecc User Profile NicN11 2021-11-09 15:24:45 +01:00
Luis Fernando Molina a1d889a9ea Merge pull request #2555 from alexandrustefan/develop
Auto fix missing references using checkForMissingReferences utility function
2021-11-09 07:21:56 -04:00
Luis Fernando Molina 74ed9881f4 Merge pull request #2553 from quantum8/develop
Parabolic SAR indicator
2021-11-09 07:20:44 -04:00
Alexandru Stefan 4013c1b032 Merge branch 'develop' of https://github.com/alexandrustefan/Superalgos into code_editor_space 2021-11-09 13:09:08 +02:00
Alexandru Stefan 1ed0140665 extending checkForMissingReferences functionality by also creating the needed references if there are any nodes eligible in the current workspace 2021-11-09 13:00:54 +02:00
Alexandru Stefan cd19d4b5e1 Merge branch 'develop' of https://github.com/alexandrustefan/Superalgos into develop 2021-11-09 10:15:35 +02:00
Alexandru Stefan a661c2c8b1 Merge branch 'develop' of https://github.com/alexandrustefan/Superalgos into code_editor_space 2021-11-09 10:15:08 +02:00
Alexandru Stefan bc08ff7275 working monaco editor 2021-11-09 10:06:04 +02:00
BlaaSwe c590b771b8 User Profile BlaaSwe 2021-11-09 08:20:46 +01:00
quantum8 dd569e0853 Merge branch 'Superalgos:develop' into develop 2021-11-09 16:58:39 +10:00
quantum8 a6508b3414 Added Parabolic SAR indicator. 2021-11-09 16:55:51 +10:00
BlaaSwe 1487e2665e Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-09 07:48:16 +01:00
Luis Fernando Molina 920929a216 Merge pull request #2550 from prepheadrus/develop
Contribution: This is my contribution to Superalgos
2021-11-09 01:31:05 -04:00
Luis Fernando Molina 3e0ee92dd5 Merge pull request #2535 from EvaMaria70/develop
Contribution: This is my contribution to Superalgos
2021-11-09 01:30:30 -04:00
Luis Fernando Molina 9f69d389ed Merge pull request #2552 from Raplh2502/develop
Contribution: bug fix at Keltner data mine
2021-11-09 01:30:12 -04:00
Philip Love 0932a5ac5f Merge develop into portfolio-management 2021-11-08 20:48:36 -05:00
Raplh2502 3082c64484 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-08 22:54:57 +01:00
prepheadrus 944e549819 welcome-to-superalgos-090/091 2021-11-08 23:52:56 +03:00
prepheadrus b5de54b903 welcome-to-superalgos-088 2021-11-08 23:39:54 +03:00
prepheadrus 611f9082e1 welcome-to-superalgos-087 2021-11-08 23:31:09 +03:00
EvaMaria70 05cfb1113d Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-08 21:20:37 +01:00
Raplh2502 9406d92ba4 bug fix at Keltner data mine 2021-11-08 19:46:35 +01:00
Superalgos Bot 5e52cdae71 Changes in User Profile done by Profile Owner NAmorim automatically merged by Superalgos.
User Profile Update - Liquidity
2021-11-08 18:13:00 +01:00
Luis Fernando Molina c44e380e76 Merge pull request #2551 from Luis-Fernando-Molina/develop
Contribution: Can run multiple Desktop Apps at same machine
2021-11-08 13:10:52 -04:00
Luis Fernando Molina 450d3d26df Desktop Web App connecting to host and webSocketPort from Client Node 2021-11-08 17:59:41 +01:00
Luis Fernando Molina aada1165d1 Desktop App Client running at different web and websocket ports 2021-11-08 17:42:49 +01:00
BlaaSwe 72d091254e User Profile BlaaSwe 2021-11-08 17:31:41 +01:00
EvaMaria70 d1ae98dea4 This is my contribution to Superalgos 2021-11-08 16:45:42 +01:00
EvaMaria70 f69466eaf5 This is my contribution to Superalgos 2021-11-08 16:33:56 +01:00
prepheadrus 1f503546a1 This is my contribution to Superalgos 2021-11-08 16:37:59 +03:00
Luis Fernando Molina b5a2298fb0 Enabling multiple desktop apps to run at the same machine - Part 1 2021-11-08 13:13:18 +01:00
NAmorim 153dbd2c7d User Profile Update - Liquidity 2021-11-08 10:42:04 +00:00
EvaMaria70 c0ac8cdd42 This is my contribution to Superalgos 2021-11-08 11:34:15 +01:00
EvaMaria70 49def88fe4 This is my contribution to Superalgos 2021-11-08 11:03:01 +01:00
EvaMaria70 df0bce0ec2 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-08 10:40:23 +01:00
Luis Fernando Molina 2d7322a9c8 Merge pull request #2543 from Smidy13/develop
ListSelector Improvements and Bug Fixes
2021-11-08 04:55:17 -04:00
Luis Fernando Molina 61e7142c7f Merge pull request #2544 from PLuv/portfolio-management
Schemas, wirings, develop merge, etc.
2021-11-08 04:54:40 -04:00
Luis Fernando Molina 3d032c9f26 Merge pull request #2546 from Superalgos/develop
Develop into Master Hot Fix Bug With Websockets Port Number
2021-11-08 04:15:38 -04:00
Luis Fernando Molina 0ad8295868 Merge pull request #2545 from Luis-Fernando-Molina/develop
Contribution: BUG fixed with platform websockets port number
2021-11-08 04:14:57 -04:00
Luis Fernando Molina db7d59ebfa Bug Fixed with Platform Web Sockets Port 2021-11-08 09:13:47 +01:00
Philip Love b273cd7090 Merge remote-tracking branch 'upstream/portfolio-management' into portfolio-management 2021-11-08 03:00:33 -05:00
Philip Love 18790f5a70 Merge remote-tracking branch 'upstream/portfolio-management' into portfolio-management 2021-11-08 02:55:22 -05:00
Philip Love 6d4957d102 More Schemas etc 2021-11-08 02:53:37 -05:00
Philip Love 0070eb1f9b Merging develop into portfolio-management 2021-11-08 01:28:05 -05:00
NicN11 92c49da176 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-08 06:21:16 +01:00
Smidy13 fe09060da6 Bug Fix: Removing Unnecessary console.log 2021-11-08 17:00:43 +13:00
Smidy13 5a75269c05 Improvement: Change Default SensorBot startDate to 2021 2021-11-08 16:57:45 +13:00
Smidy13 8e05d35a08 Improvement: ListSelector added to Plugin Data Mines 2021-11-08 16:54:51 +13:00
Smidy13 489e92277f Bug Fix: Visible Items not updating in ListSelector if new nodes added 2021-11-08 16:32:27 +13:00
Luis Fernando Molina 9b9db59963 Merge pull request #2542 from ozichris/plugins-docs
Contribution: My Superalgos Review!
2021-11-07 18:32:35 -04:00
Luis Fernando Molina eddc9962d1 Merge pull request #2541 from Superalgos/develop
Develop into Master Bug Fixes @ Workspaces
2021-11-07 18:24:21 -04:00
ozichris 4a3d3ba570 Merge branch 'plugins-docs' of https://github.com/ozichris/Superalgos into plugins-docs 2021-11-07 22:15:59 +00:00
ozichris 3cb7f56ade My Superalgos Review! 2021-11-07 21:53:35 +00:00
harrellbm 3df890a6c5 Merge branch 'develop' of https://github.com/harrellbm/Superalgos into develop 2021-11-07 11:40:48 -06:00
harrellbm f8b5cc8f45 Add missing api node to getting started workspace 2021-11-07 11:36:44 -06:00
Julian Molina 7bc8d4e16a Merge pull request #2538 from julian-molina/develop
Contribution: Getting started workspace and tutorials fixes
2021-11-07 18:09:15 +01:00
Chris ac0c91e8e2 Delete ozichris.json 2021-11-07 17:02:51 +00:00
Julian Molina 89bd01ddcf Getting started workspace fix 2021-11-07 17:52:34 +01:00
Julian Molina 6478d8025d Getting started workspace and tutorials fixes 2021-11-07 17:46:40 +01:00
Chris 0a2de72540 Delete superalgos-project-review-034-superalgos-review-my-superalgos-review.json 2021-11-07 16:37:43 +00:00
Luis Fernando Molina b3462c8697 Merge pull request #2537 from Luis-Fernando-Molina/develop
Contribution: Superalgos P2P Network: Desktop connecting to multiple Network Peers
2021-11-07 11:06:45 -04:00
Luis Fernando Molina 8024d0c476 Superalgos P2P Network: Desktop connecting to multiple Network Peers 2021-11-07 16:04:00 +01:00
Luis Fernando Molina ea158f81e8 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-07 16:03:43 +01:00
Superalgos Bot a86593a44e Changes in User Profile done by Profile Owner ozichris automatically merged by Superalgos.
Contribution: User Profile ozichris
2021-11-07 14:56:12 +01:00
ozichris ad45460328 User Profile ozichris 2021-11-07 13:53:45 +00:00
Luis Fernando Molina 5a281b5de0 Boradcasting Events to Peers Working 2021-11-07 14:12:11 +01:00
EvaMaria70 b18b1552ec Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-07 13:10:24 +01:00
EvaMaria70 d005dffd98 This is my contribution to Superalgos 2021-11-07 13:10:07 +01:00
ozichris cee54e46f4 My Superalgos Review! 2021-11-07 10:04:47 +00:00
Luis Fernando Molina 05ad894821 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-07 10:40:26 +01:00
Luis Fernando Molina a1cba0b622 Merge pull request #2530 from prepheadrus/develop
Contribution: This is my contribution to Superalgos
2021-11-07 05:37:34 -04:00
Luis Fernando Molina 7521e45124 Merge pull request #2532 from NAmorim/develop
Indentation
2021-11-07 05:37:16 -04:00
Luis Fernando Molina 3f05e1b00a Merge pull request #2533 from Smidy13/develop
Improvement: Create Reference Left Menu Icon and Function
2021-11-07 05:36:30 -04:00
Luis Fernando Molina 8b28e9c09b Ready to Test Peer Broadcasting 2021-11-07 10:33:44 +01:00
Smidy 115a96d838 Merge branch 'Superalgos:develop' into develop 2021-11-07 21:27:52 +13:00
Smidy13 46f706bd43 Merge branch 'develop' of https://github.com/Smidy13/Superalgos into develop 2021-11-07 21:27:27 +13:00
Smidy13 717b860f13 Improvement: Create Reference Left Menu Icon and Function 2021-11-07 21:26:56 +13:00
NAmorim 8cbc0fdb93 Indentation 2021-11-07 00:58:34 +00:00
prepheadrus a19288d346 This is my contribution to Superalgos 2021-11-06 18:25:18 +03:00
prepheadrus c468558a78 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-06 18:23:14 +03:00
prepheadrus 35bacb7de2 This is my contribution to Superalgos 2021-11-06 18:09:11 +03:00
Luis Fernando Molina 539e3c089e Merge pull request #2529 from prepheadrus/develop
Contribution: This is my contribution to Superalgos
2021-11-06 10:42:24 -04:00
Luis Fernando Molina 702481147e Merge pull request #2528 from MarinitaMarina/develop
Contribution: Translation into Russian Getting Started Tutorial (Step 28-49)
2021-11-06 10:41:54 -04:00
Luis Fernando Molina 5324c94306 Defining how to broadcast messages 2021-11-06 15:34:07 +01:00
prepheadrus 5013392681 This is my contribution to Superalgos 2021-11-06 17:10:11 +03:00
MarinitaMarina e04b3613b7 Translation into Russian Getting Started Tutorial (Step 28-49) 2021-11-06 15:03:54 +01:00
Luis Fernando Molina 8461d6b98e Bug Fixes 2021-11-06 14:53:44 +01:00
Luis Fernando Molina 26aafc1930 Merge pull request #2526 from Luis-Fernando-Molina/develop
Contribution: Peers chacking max connections configured
2021-11-06 06:52:35 -04:00
Luis Fernando Molina 74fccfb023 Checking Max Amount of configured connections 2021-11-06 11:49:51 +01:00
Luis Fernando Molina 3270608e34 Update P2PNetworkPeers.js 2021-11-06 11:12:17 +01:00
Luis Fernando Molina 02723165b4 Peers detecting disconnections and auto reconnecting to each other 2021-11-06 10:23:24 +01:00
Luis Fernando Molina 1aa8dd70e1 Merge pull request #2524 from Luis-Fernando-Molina/develop
Contribution: Peers connecting between each other.
2021-11-06 04:54:13 -04:00
Luis Fernando Molina 9352dd8c92 Peers connecting between each other. 2021-11-06 09:52:15 +01:00
MarinitaMarina 119111732f Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-06 08:01:41 +01:00
NicN11 f5cf80f7dc Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-06 07:04:41 +01:00
Superalgos Bot 81105509d9 Changes in User Profile done by Profile Owner 9v5ij automatically merged by Superalgos.
User Profile 9v5ij
2021-11-06 06:21:56 +01:00
9v5ij 447b64d061 User Profile 9v5ij 2021-11-06 05:02:55 +01:00
Luis Fernando Molina 3343c864e2 Merge pull request #2519 from prepheadrus/develop
Contribution: This is my contribution to Superalgos
2021-11-05 12:17:48 -04:00
Luis Fernando Molina 6d9c24a5f7 Merge pull request #2520 from NAmorim/develop
[Distribution] Addition of linux packaged application
2021-11-05 12:17:05 -04:00
NAmorim fff090d5bf Simpler release workflow action 2021-11-05 15:16:05 +00:00
NAmorim 6bd6178e4f Enable Linux builds (pc and rpi)
Enable zipped package
2021-11-05 15:15:11 +00:00
NAmorim c798881c25 [Distribution] Workflow clenaup. Add linux build. 2021-11-05 15:14:06 +00:00
prepheadrus f2238f35f5 This is my contribution to Superalgos 2021-11-05 17:36:07 +03:00
prepheadrus 11bcd3ae3c This is my contribution to Superalgos 2021-11-05 16:57:17 +03:00
Luis Fernando Molina 16f7d92603 Merge pull request #2518 from Luis-Fernando-Molina/develop
Contribution: Network Nodes connecting to other Network Nodes
2021-11-05 09:50:17 -04:00
Luis Fernando Molina cc2976ce7a Merge pull request #2517 from EvaMaria70/develop
Contribution: This is my contribution to Superalgos
2021-11-05 09:41:18 -04:00
Luis Fernando Molina b5eb7dd425 Network Nodes connecting to other Network Nodes 2021-11-05 14:40:51 +01:00
Luis Fernando Molina 48c35d8148 3 Network Nodes Running in Debug Mode 2021-11-05 12:44:58 +01:00
EvaMaria70 a45d13cbdf This is my contribution to Superalgos 2021-11-05 12:42:07 +01:00
Luis Fernando Molina e98b1fbd6c Update NetwokNode.js 2021-11-05 12:05:38 +01:00
Luis Fernando Molina 5eb7667d5d Merge pull request #2515 from prepheadrus/develop
Contribution: This is my contribution to Superalgos
2021-11-05 06:56:18 -04:00
prepheadrus 6d31e9b7d7 This is my contribution to Superalgos 2021-11-05 13:47:24 +03:00
MarinitaMarina 9d27d4fe30 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-05 11:43:57 +01:00
MarinitaMarina 88cb3f1e6c Revert "translation into Russian Getting Started Tutorial Step 30-44"
This reverts commit e898bd950d.
2021-11-05 11:42:48 +01:00
MarinitaMarina e898bd950d translation into Russian Getting Started Tutorial Step 30-44 2021-11-05 10:46:30 +01:00
EvaMaria70 c7878074ba Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-05 10:14:17 +01:00
prepheadrus b7f2b96ece This is my contribution to Superalgos 2021-11-05 12:07:53 +03:00
Luis Fernando Molina 1bcf4686a4 Changes in User Profile done by Profile Owner NicN11 automatically merged by Superalgos.
Contribution: User Profile NicN11
2021-11-05 04:25:45 -04:00
Luis Fernando Molina 056e282ba2 Merge pull request #2511 from Smidy13/develop
Improvement: New Editor 'List Selector' for selecting from a list of nodes
2021-11-05 04:24:44 -04:00
Luis Fernando Molina 86e6d9e80f Merge pull request #2501 from prepheadrus/develop
Welcome To Superalgos 025-032
2021-11-05 04:23:04 -04:00
Luis Fernando Molina 059768b156 Merge pull request #2506 from EvaMaria70/develop
Contribution: claims& governance
2021-11-05 04:22:26 -04:00
Luis Fernando Molina 8f5def3a10 Merge pull request #2512 from Raplh2502/develop
Contribution: add trend intensity to Weighted EMA cross DM
2021-11-05 04:21:51 -04:00
Luis Fernando Molina bc437f7172 Merge pull request #2514 from Luis-Fernando-Molina/develop
Contribution: Network Project: Selecting a Node of the P2P network to connect to, implemented.
2021-11-05 04:15:04 -04:00
Luis Fernando Molina d37a1135ce deepScan bug fixes 2021-11-05 09:12:03 +01:00
Luis Fernando Molina 43fd4ca5ba Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-05 09:06:57 +01:00
Luis Fernando Molina 7e06aad6d1 Desktop Working Again 2021-11-05 08:56:52 +01:00
prepheadrus 22c97aa7fc This is my contribution to Superalgos 2021-11-05 10:20:23 +03:00
prepheadrus 07c6944bb2 This is my contribution to Superalgos 2021-11-05 09:54:51 +03:00
prepheadrus f572137c49 This is my contribution to Superalgos 2021-11-05 09:50:13 +03:00
Smidy13 a073739158 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-05 19:48:16 +13:00
NicN11 35148cadae Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-05 07:23:38 +01:00
prepheadrus c782e23f95 This is my contribution to Superalgos 2021-11-05 09:23:35 +03:00
prepheadrus 172d095b34 This is my contribution to Superalgos 2021-11-05 09:04:00 +03:00
prepheadrus 422c33fd2b Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-05 08:58:31 +03:00
liteir d7605c4a77 This is my contribution to Superalgos 2021-11-04 22:25:12 +00:00
Raplh2502 d5a7adee8a add trend intensity to Weighted EMA cross DM 2021-11-04 23:21:51 +01:00
Smidy cdde8e1633 Merge branch 'Superalgos:develop' into develop 2021-11-05 10:06:00 +13:00
Smidy13 4f8fbb6c06 Improvement: New Editor 'List Selector' for selecting from a list of nodes 2021-11-05 10:05:10 +13:00
Alexandru Stefan a82c83130d clear documentindex variable 2021-11-04 23:02:58 +02:00
B Harrell 08ae3eaa06 Merge pull request #2507 from harrellbm/develop
Add Arabic language footer and clean up language flag folders.
2021-11-04 14:14:38 -05:00
B Harrell e0f4dd0c18 Merge branch 'Superalgos:develop' into develop 2021-11-04 14:13:12 -05:00
harrellbm 3fb698be43 Merge branch 'develop' of https://github.com/harrellbm/Superalgos into develop 2021-11-04 14:08:17 -05:00
harrellbm bd628dde71 Add Arabic Language to docs 2021-11-04 14:08:13 -05:00
EvaMaria70 2f2af07175 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-04 17:20:08 +01:00
EvaMaria70 bf0acdd0fe claims& governance 2021-11-04 17:18:50 +01:00
prepheadrus 386ead6907 Welcome To Superalgos 033-042 2021-11-04 17:45:35 +03:00
Luis Fernando Molina 7e0b5cdb5e Bug Fixes 2021-11-04 14:37:29 +01:00
Luis Fernando Molina 36705a7735 Merge pull request #2505 from cozed-gh/develop
Added ALMA and Self Dev Conservative MA
2021-11-04 09:28:03 -04:00
cozed-gh 129f860b63 Merge branch 'Superalgos:develop' into develop 2021-11-04 14:20:40 +01:00
cozed-gh fd20edb52d Added ALMA and Self Dev Conservative MA 2021-11-04 14:18:15 +01:00
Luis Fernando Molina 198a2690cd Network is running with the changes 2021-11-04 14:07:50 +01:00
Luis Fernando Molina 28ac81cc70 Ready to debug changes 2021-11-04 13:52:58 +01:00
Luis Fernando Molina 80812a9993 Merge pull request #2502 from cozed-gh/develop
Minor grid fix + Smoothed ATR Grid
2021-11-04 08:48:43 -04:00
Luis Fernando Molina 6e4ac0fa1b Merge pull request #2504 from alexandrustefan/develop
New Search Engine implementation + minor fix on DocumentPage.js
2021-11-04 08:48:14 -04:00
Luis Fernando Molina 6ef1d036b2 DK.running refactored 2021-11-04 12:53:30 +01:00
Luis Fernando Molina 5ec3217e7a User Profile fixed 2021-11-04 12:21:08 +01:00
Luis Fernando Molina 80f7ffaa8e p2p Network Node implemented 2021-11-04 12:03:58 +01:00
Alexandru Stefan 5121e036a5 removed unused node dep; fixed DocumentPage.js error on image not available while loading the page 2021-11-04 12:31:24 +02:00
Alexandru Stefan ec3410dc00 some small adjusments to the index creation 2021-11-04 12:24:17 +02:00
Alexandru Stefan 862eb4e028 Merge branch 'develop' of https://github.com/alexandrustefan/Superalgos into 'new_search_engine' 2021-11-04 12:15:08 +02:00
NicN11 b85065282d Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-04 10:34:18 +01:00
cozed-gh 5f8ef6c315 Added "Smoothed ATR Grid" 2021-11-04 10:23:46 +01:00
prepheadrus ea5c24cd6c Welcome To Superalgos 025-032 2021-11-04 12:06:22 +03:00
cozed-gh 1542d83fd4 Small bugs - codeNames Plotter Panel and BB Panel
Found some lesser things that wasnt top notch.
Codenames at Plotter Panel was missing, and the Bollinger Panel had the wrong name.
2021-11-04 09:09:04 +01:00
Luis Fernando Molina 8ca5cd0b76 Merge pull request #2448 from NicN11/develop
Contribution: Translation
2021-11-04 04:03:03 -04:00
Luis Fernando Molina 347cace378 Merge pull request #2466 from krimsonkla/develop
Contribution: "Last of the typos"
2021-11-04 04:02:36 -04:00
Luis Fernando Molina a11d4cd78b Merge pull request #2497 from ssplatt/remove-twitter-debug
remove debug logging from twitter bot
2021-11-04 04:02:07 -04:00
Luis Fernando Molina 8bb39d203e Merge pull request #2498 from Raplh2502/develop
Contribution: This is my contribution to Superalgos
2021-11-04 04:00:50 -04:00
Luis Fernando Molina b621bae467 Merge pull request #2500 from cozed-gh/develop
Omega-Grids (ATR, Fixed, Period, Bollinger)
2021-11-04 04:00:07 -04:00
Luis Fernando Molina 7dac7798dc Merge pull request #2499 from PLuv/portfolio-management
Lots Schema Stuff; Added to Network; More Functions refactoring
2021-11-04 03:59:16 -04:00
cozed-gh 19339ff881 Omega-Grids (ATR, Fixed, Period, Bollinger) 2021-11-04 08:57:30 +01:00
Luis Fernando Molina 02e1f490ca Merge pull request #2496 from ssplatt/develop
update workflow to create a docker image off releases
2021-11-04 03:54:56 -04:00
Philip Love f7da9b49fe Merge remote-dev branch 'upstream/portfolio-management' into portfolio-management 2021-11-04 03:24:19 -04:00
Philip Love f6928ce39a Lots Schema Stuff; Added to Network; More Functions refactoring 2021-11-04 03:04:09 -04:00
Philip Love 1460e36146 Merge develop into portfolio-management 2021-11-04 02:23:58 -04:00
NicN11 57a23234e4 User Profile NicN11 2021-11-04 07:23:50 +01:00
NicN11 fc6495c51e User Profile NicN11 2021-11-04 06:54:15 +01:00
NicN11 b89c388685 Merge branch 'Superalgos:develop' into develop 2021-11-04 04:59:28 +01:00
Alexandru Stefan 454045781a added the workspace node into the workspace schema 2021-11-04 00:59:45 +02:00
Raplh2502 2dc38e3520 This is my contribution to Superalgos 2021-11-03 23:36:46 +01:00
Brett Taylor 5ca63261ca remove debug logging from twitter bod 2021-11-03 16:51:50 -04:00
Brett Taylor e8f596e844 update workflow to create a docker image off releases 2021-11-03 15:05:17 -04:00
Luis Fernando Molina d6b1de3eeb Merge pull request #2494 from Superalgos/develop
Develop into Plugins-Docs
2021-11-03 13:23:38 -04:00
Alexandru Stefan a3daa13011 fixed searching in workspace 2021-11-03 18:44:59 +02:00
Alexandru Stefan 09e9b27b4d Merge branch 'develop' of https://github.com/alexandrustefan/Superalgos into 'new_search_engine' 2021-11-03 12:07:09 +02:00
Alexandru Stefan 0f0e3e61a1 some refactoring, removed old implementation 2021-11-03 12:05:51 +02:00
Alexandru Stefan e8c77ae0bb added new search engine lib, created new indexes, display search results 2021-11-03 11:42:25 +02:00
Luis Fernando Molina de55081bd2 Merge pull request #2483 from PLuv/portfolio-management
Update - portfolio-management && merging develop->portfolio-management @ commit#d76ee927
2021-11-03 05:34:44 -04:00
NicN11 fb0190f35a Merge branch 'Superalgos:develop' into develop 2021-11-03 05:23:44 +01:00
Philip Love 28b4394e4b Merge remote-tracking branch 'upstream/portfolio-management' into portfolio-management 2021-11-02 13:50:45 -04:00
Philip Love 5556d96d68 Merging develop into portfolio-management 2021-11-02 13:36:26 -04:00
Philip Love 47ca035497 Pulling develop into portfolio-management 2021-11-02 13:32:00 -04:00
Philip Love f651462730 Merge branch 'develop' into portfolio-management 2021-11-02 01:22:41 -04:00
Philip Love c895d6ba80 Pulling in Superalgos-upstream/develop into Portfolio-Management 2021-11-02 01:11:07 -04:00
NicN11 d6a009fd3c Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-11-02 05:49:10 +01:00
NicN11 2b8de38ad8 Merge branch 'Superalgos:develop' into develop 2021-11-02 03:59:21 +01:00
Jason Risch 785e10fa16 "Last of the typos" 2021-11-01 06:55:27 -07:00
NicN11 30bf3f6732 Translation 2021-11-01 06:14:03 +01:00
Luis Fernando Molina 83c3e0cf6e Merge pull request #2344 from PLuv/portfolio-management
Portfolio-Management More Refactoring
2021-10-30 03:42:45 -04:00
Philip Love fbb52a2eb0 Merge remote-tracking branch 'upstream/portfolio-management' into portfolio-management 2021-10-30 03:24:15 -04:00
Philip Love a9adf7bf7a More refactoring - Portfolio-Management 2021-10-30 03:21:20 -04:00
Luis Fernando Molina 6f6447b728 Merge pull request #2303 from PLuv/portfolio-management
Portfolio management Partial refactoring
2021-10-30 02:54:34 -04:00
Philip Love 63afc13705 Merge remote-tracking branch 'upstream/portfolio-management' into portfolio-management 2021-10-29 15:02:42 -04:00
Philip Love 40c8afcbd2 Fix Deepscan Errors 2021-10-29 15:01:22 -04:00
Philip Love 68258e27f0 Merge remote-tracking branch 'upstream/develop' into portfolio-management 2021-10-29 03:01:39 -04:00
Philip Love ea397ff3b7 Partial refactoring 2021-10-29 02:42:43 -04:00
1506 changed files with 724867 additions and 352600 deletions

No files matched your search

+18
View File
@@ -0,0 +1,18 @@
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 180
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 7
# Issues with these labels will never be considered stale
exemptLabels:
- pinned
- security
- improvement
# Label to use when marking an issue as stale
staleLabel: stale
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: false
+8 -3
View File
@@ -2,9 +2,14 @@ name: Publish Docker image
on:
push:
branches: [master, develop]
release:
types: [published, created, edited]
branches:
- master
- develop
release:
types:
- published
- created
- edited
jobs:
publish:
+9 -39
View File
@@ -1,38 +1,16 @@
name: Build/release Binaries
on:
pull_request:
branches: [master]
#release:
# types: [published, created]
release:
types:
- published
workflow_dispatch:
jobs:
create-release:
runs-on: ubuntu-latest
steps:
- name: Download a file
run: curl "https://raw.githubusercontent.com/${{ github.repository }}/master/package.json" -o package.json
- name: get-version
id: version
uses: nyaa8/package-version@v1
with:
path: './package.json'
- name: Create release
id: create_release
uses: viperproject/create-nightly-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ env.PACKAGE_VERSION }}
release_name: Superalgos-v${{ env.PACKAGE_VERSION }}
build-release:
runs-on: ${{ matrix.os }}
needs: create-release
strategy:
matrix:
os: [windows-latest, macos-latest]
@@ -40,19 +18,15 @@ jobs:
steps:
- name: Check out Git repository
uses: actions/checkout@v2
with:
ref: develop
- name: Install Node.js, NPM and Yarn
uses: actions/setup-node@v1
with:
node-version: 14
- name: get-version
id: version
uses: nyaa8/package-version@v1
with:
path: './package.json'
- name: Get version
id: vars
run: echo "::set-output name=tag::$(node -p "require('./package.json').version")"
- name: Build/release Electron app
uses: samuelmeuli/action-electron-builder@v1
@@ -60,10 +34,6 @@ jobs:
# GitHub token, automatically provided to the action
# (No need to define this secret in the repo settings)
github_token: ${{ secrets.github_token }}
args: "-c.extraMetadata.version=${{ env.PACKAGE_VERSION }} -c build/electron-builder.json -p always"
# If the commit is tagged with a version (e.g. "v1.0.0"),
# release the app after building
# release: ${{ startsWith(github.ref, 'refs/tags/v') }}
args: "-c.extraMetadata.version=${{ steps.vars.outputs.tag }} -c build/electron-builder.json -p always"
release: true
+10 -14
View File
@@ -17,11 +17,9 @@ jobs:
id: date
run: echo "::set-output name=date::$(date +'%Y%m%d')"
- name: get-version
id: version
uses: nyaa8/package-version@v1
with:
path: './package.json'
- name: Get version
id: vars
run: echo "::set-output name=tag::$(node -p "require('./package.json').version")"
- name: Create nightly release
id: create_release
@@ -29,8 +27,8 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ env.PACKAGE_VERSION }}.${{ steps.date.outputs.date }}
release_name: Superalgos ${{ env.PACKAGE_VERSION }} Snapshot ${{ steps.date.outputs.date }}
tag_name: ${{ steps.vars.outputs.tag }}-${{ steps.date.outputs.date }}
release_name: Superalgos-Beta-v${{ steps.vars.outputs.tag }} Snapshot ${{ steps.date.outputs.date }}
keep_num: 5
keep_tags: false
@@ -39,7 +37,7 @@ jobs:
needs: create-release
strategy:
matrix:
os: [windows-latest, macos-latest]
os: [windows-latest, macos-latest, ubuntu-latest]
steps:
- name: Get current date
@@ -56,11 +54,9 @@ jobs:
with:
node-version: 14
- name: get-version
id: version
uses: nyaa8/package-version@v1
with:
path: './package.json'
- name: Get version
id: vars
run: echo "::set-output name=tag::$(node -p "require('./package.json').version")"
- name: Build/release Electron app
uses: samuelmeuli/action-electron-builder@v1
@@ -68,7 +64,7 @@ jobs:
# GitHub token, automatically provided to the action
# (No need to define this secret in the repo settings)
github_token: ${{ secrets.github_token }}
args: "-c.extraMetadata.main=electron-wrapper.js -c.extraMetadata.version=${{ env.PACKAGE_VERSION }}.${{ steps.date.outputs.date }} -c build/electron-builder.json -p onTagOrDraft"
args: "-c.extraMetadata.version=${{ steps.vars.outputs.tag }}-${{ steps.date.outputs.date }} -c build/electron-builder.json -p onTagOrDraft"
# If the commit is tagged with a version (e.g. "v1.0.0"),
# release the app after building
+1
View File
@@ -20,3 +20,4 @@ launch.json
package-lock.json
.idea
dist
/nbproject/private/
+10
View File
@@ -0,0 +1,10 @@
{
"folders": [
{
"path": "C:\\Superalgos"
}
],
"settings": {
"search.maintainFileSearchCache": true
}
}
+10
View File
@@ -0,0 +1,10 @@
{
"folders": [
{
"path": "C:\\Superalgos"
}
],
"settings": {
"search.maintainFileSearchCache": true
}
}
+10
View File
@@ -0,0 +1,10 @@
{
"folders": [
{
"path": "C:\\Superalgos"
}
],
"settings": {
"search.maintainFileSearchCache": true
}
}
+10
View File
@@ -0,0 +1,10 @@
{
"folders": [
{
"path": "C:\\Superalgos"
}
],
"settings": {
"search.maintainFileSearchCache": true
}
}
+10
View File
@@ -0,0 +1,10 @@
{
"folders": [
{
"path": "C:\\Superalgos"
}
],
"settings": {
"search.maintainFileSearchCache": true
}
}
+10
View File
@@ -0,0 +1,10 @@
{
"folders": [
{
"path": "C:\\Superalgos"
}
],
"settings": {
"search.maintainFileSearchCache": true
}
}
+2 -1
View File
@@ -21,5 +21,6 @@
"**/My-Data-Storage": true,
"**/My-Log-Files": true,
},
"search.maintainFileSearchCache": true
"search.maintainFileSearchCache": true,
"editor.mouseWheelZoom": true
}
+61 -109
View File
@@ -1,126 +1,78 @@
exports.newDesktopApp = function newDesktopApp() {
let thisObject = {
userProfiles: undefined,
p2pNetworkClientIdentity: undefined,
p2pNetwork: undefined,
p2pNetworkPeers: undefined,
webSocketsInterface: undefined,
webAppInterface: undefined,
p2pNetworkInterface: undefined,
socialGraph: undefined,
run: run
}
DK.desktopApp = thisObject
return thisObject
async function run() {
/*
Here we will store our running objects:
*/
DK.running = {}
/*
This is the Personal Social Graph for the user running this App.
*/
DK.running.socialGraph = DK.projects.socialTrading.modules.socialGraph.newSocialTradingModulesSocialGraph()
await DK.running.socialGraph.initialize()
/*
This is the Web Sockets client that interacts with the Superalgos Network.
*/
DK.running.webSocketsClient = SA.projects.network.modules.webSocketsAppClient.newNetworkModulesWebSocketsAppClient()
await DK.running.webSocketsClient.initialize()
console.log('Desktop Client Connected to Network Node via Web Sockets ................... Connected to port ' + global.env.NETWORK_WEB_SOCKETS_INTERFACE_PORT)
/* These are the Network Interfaces by which the Web App interacts with this Desktop Client.*/
await setupNetwork()
await setupServices()
DK.running.webSocketsInterface = DK.projects.socialTrading.modules.webSocketsInterface.newDesktopModulesWebSocketsInterface()
DK.running.webSocketsInterface.initialize()
console.log('Desktop Client Web Sockets Interface ....................................... Listening at port ' + global.env.DESKTOP_WEB_SOCKETS_INTERFACE_PORT)
DK.running.httpInterface = DK.projects.socialTrading.modules.httpInterface.newDesktopModulesHttpInterface()
DK.running.httpInterface.initialize()
console.log('Desktop Client Http Interface .............................................. Listening at port ' + global.env.DESKTOP_HTTP_INTERFACE_PORT)
return
let queryMessage
let query
/*
Test Query User Profiles.
*/
queryMessage = {
queryType: SA.projects.socialTrading.globals.queryTypes.USER_PROFILES,
emitterUserProfileId: SA.secrets.map.get(global.env.DESKTOP_APP_SIGNING_ACCOUNT).userProfileId,
initialIndex: 'Last',
amountRequested: 10,
direction: 'Past'
async function setupNetwork() {
/*
We set up ourselves as a Network Client.
*/
thisObject.p2pNetworkClientIdentity = SA.projects.network.modules.p2pNetworkClientIdentity.newNetworkModulesP2PNetworkClientIdentity()
await thisObject.p2pNetworkClientIdentity.initialize()
/*
We will read all user profiles plugins and get from there our network identity.
*/
thisObject.userProfiles = SA.projects.network.modules.userProfiles.newNetworkModulesUserProfiles()
await thisObject.userProfiles.initialize(global.env.DESKTOP_APP_SIGNING_ACCOUNT, thisObject.p2pNetworkClientIdentity)
/*
We set up the P2P Network.
*/
thisObject.p2pNetwork = SA.projects.network.modules.p2pNetwork.newNetworkModulesP2PNetwork()
await thisObject.p2pNetwork.initialize('Network Client')
/*
Set up the connections to network nodes.
*/
thisObject.p2pNetworkPeers = SA.projects.network.modules.p2pNetworkPeers.newNetworkModulesP2PNetworkPeers()
await thisObject.p2pNetworkPeers.initialize(
'Network Client',
thisObject.p2pNetworkClientIdentity,
thisObject.p2pNetwork,
global.env.DESKTOP_APP_MAX_OUTGOING_PEERS
)
}
query = {
requestType: 'Query',
queryMessage: JSON.stringify(queryMessage)
}
async function setupServices() {
/*
This is where we will process all the messages comming from our web app.
*/
thisObject.webAppInterface = DK.projects.socialTrading.modules.webAppInterface.newSocialTradingModulesWebAppInterface()
/*
This is where we will process all the events comming from the p2p network.
*/
thisObject.p2pNetworkInterface = DK.projects.socialTrading.modules.p2pNetworkInterface.newSocialTradingModulesP2PNetworkInterface()
/*
This is the Personal Social Graph for the user running this App.
*/
thisObject.socialGraph = DK.projects.socialTrading.modules.socialGraph.newSocialTradingModulesSocialGraph()
await thisObject.socialGraph.initialize()
/*
These are the Network Interfaces by which the Web App interacts with this Desktop Client.
*/
thisObject.webSocketsInterface = DK.projects.socialTrading.modules.webSocketsInterface.newDesktopModulesWebSocketsInterface()
thisObject.webSocketsInterface.initialize()
console.log('Desktop Client Web Sockets Interface ......................................... Listening at port ' + JSON.parse(DK.desktopApp.p2pNetworkClientIdentity.node.config).webSocketsPort)
await DK.webSocketsClient.sendMessage(
JSON.stringify(query)
)
.then(showProfiles)
.catch(onError)
async function showProfiles(profiles) {
console.log(profiles)
for (let i = 0; i < profiles.length; i++) {
let profile = profiles[i]
/*
Test Following Profiles.
*/
let eventMessage = {
eventId: SA.projects.foundations.utilities.miscellaneousFunctions.genereteUniqueId(),
eventType: SA.projects.socialTrading.globals.eventTypes.FOLLOW_USER_PROFILE,
emitterUserProfileId: SA.secrets.map.get(global.env.DESKTOP_APP_SIGNING_ACCOUNT).userProfileId,
targetUserProfileId: profile.userProfileId
}
let event = {
requestType: 'Event',
eventMessage: JSON.stringify(eventMessage)
}
await DK.webSocketsClient.sendMessage(
JSON.stringify(event)
)
.then(followAdded)
.catch(onError)
function followAdded() {
console.log("User Profile " + profile.userProfileHandle + " followed.")
}
}
}
/*
Test Query User Profile Stats.
*/
queryMessage = {
queryType: SA.projects.socialTrading.globals.queryTypes.USER_PROFILE_STATS,
emitterUserProfileId: SA.secrets.map.get(global.env.DESKTOP_APP_SIGNING_ACCOUNT).userProfileId,
targetUserProfileId: SA.secrets.map.get(global.env.DESKTOP_APP_SIGNING_ACCOUNT).userProfileId
}
query = {
requestType: 'Query',
queryMessage: JSON.stringify(queryMessage)
}
await DK.webSocketsClient.sendMessage(
JSON.stringify(query)
)
.then(showProfilesStats)
.catch(onError)
function showProfilesStats(profile) {
console.log(profile)
}
/*
Error Handling
*/
function onError(errorMessage) {
console.log('[ERROR] Query not executed. ' + errorMessage)
thisObject.httpInterface = DK.projects.socialTrading.modules.httpInterface.newDesktopModulesHttpInterface()
thisObject.httpInterface.initialize()
console.log('Desktop Client Http Interface ................................................ Listening at port ' + JSON.parse(DK.desktopApp.p2pNetworkClientIdentity.node.config).webPort)
}
}
}
+4 -2
View File
@@ -1,10 +1,11 @@
/* Root object*/
/* Root objects*/
let UI = {
projects: {},
schemas: { projectSchema: undefined },
environment: undefined,
running: {}
clientNode: undefined,
webApp: undefined
}
let SA = { projects: {} }
@@ -13,3 +14,4 @@ We will use this to load functions originally intended for Nodejs
*/
let exports = {}
+10 -5
View File
@@ -5,6 +5,7 @@ function newWebApp() {
Everything is being coded here until some structure emerges.
*/
let thisObject = {
messageReceived: messageReceived,
initialize: initialize,
finalize: finalize
}
@@ -19,7 +20,7 @@ function newWebApp() {
try {
setupRootObject(UI, 'UI')
setupRootObject(SA, 'SA')
await UI.projects.socialTrading.modules.webSocketsWebClient.initialize()
await UI.projects.socialTrading.modules.webSocketsWebAppClient.initialize()
loadWUserProfileTimeline()
loadWhoToFollow()
setupEventHandlers()
@@ -113,7 +114,7 @@ function newWebApp() {
queryMessage: JSON.stringify(queryMessage)
}
await UI.projects.socialTrading.modules.webSocketsWebClient.sendMessage(
await UI.projects.socialTrading.modules.webSocketsWebAppClient.sendMessage(
JSON.stringify(query)
)
.then(addToContentDiv)
@@ -183,7 +184,7 @@ function newWebApp() {
queryMessage: JSON.stringify(queryMessage)
}
await UI.projects.socialTrading.modules.webSocketsWebClient.sendMessage(
await UI.projects.socialTrading.modules.webSocketsWebAppClient.sendMessage(
JSON.stringify(query)
)
.then(addWhoToFollowTable)
@@ -360,7 +361,7 @@ function newWebApp() {
eventMessage: JSON.stringify(eventMessage)
}
await UI.projects.socialTrading.modules.webSocketsWebClient.sendMessage(
await UI.projects.socialTrading.modules.webSocketsWebAppClient.sendMessage(
JSON.stringify(event)
)
.then(resolve)
@@ -396,7 +397,7 @@ function newWebApp() {
eventMessage: JSON.stringify(eventMessage)
}
await UI.projects.socialTrading.modules.webSocketsWebClient.sendMessage(
await UI.projects.socialTrading.modules.webSocketsWebAppClient.sendMessage(
JSON.stringify(event)
)
.then(resolve)
@@ -409,4 +410,8 @@ function newWebApp() {
}
}
}
function messageReceived(message) {
window.alert(message)
}
}
+2 -2
View File
@@ -98,8 +98,8 @@ function newWebAppLoader() {
if (downloadedCounter === modulesArray.length) {
setTimeout(() => {
UI.running.webApp = newWebApp()
UI.running.webApp.initialize()
UI.webApp = newWebApp()
UI.webApp.initialize()
}, 500)
}
+9
View File
@@ -22,6 +22,15 @@ function loadSuperalgos() {
function onResponse(err, file) {
UI.environment = JSON.parse(file)
setupClientNode()
}
}
function setupClientNode() {
httpRequest(undefined, 'ClientNode', onResponse)
function onResponse(err, file) {
UI.clientNode = JSON.parse(file)
setupProjectsSchema()
}
}
+81
View File
@@ -0,0 +1,81 @@
const express = require("./backend/src/index");
exports.newDesktopApp = function newDesktopApp() {
let thisObject = {
userProfiles: undefined,
p2pNetworkClientIdentity: undefined,
p2pNetwork: undefined,
p2pNetworkPeers: undefined,
webSocketsInterface: undefined,
webAppInterface: undefined,
p2pNetworkInterface: undefined,
socialGraph: undefined,
run: run
}
DK.desktopApp = thisObject
return thisObject
async function run() {
await setupNetwork()
await setupServices()
async function setupNetwork() {
/*
We set up ourselves as a Network Client.
*/
thisObject.p2pNetworkClientIdentity = SA.projects.network.modules.p2pNetworkClientIdentity.newNetworkModulesP2PNetworkClientIdentity()
await thisObject.p2pNetworkClientIdentity.initialize()
/*
We will read all user profiles plugins and get from there our network identity.
*/
thisObject.userProfiles = SA.projects.network.modules.userProfiles.newNetworkModulesUserProfiles()
await thisObject.userProfiles.initialize(global.env.DESKTOP_APP_SIGNING_ACCOUNT, thisObject.p2pNetworkClientIdentity)
/*
We set up the P2P Network.
*/
thisObject.p2pNetwork = SA.projects.network.modules.p2pNetwork.newNetworkModulesP2PNetwork()
await thisObject.p2pNetwork.initialize('Network Client')
/*
Set up the connections to network nodes.
*/
thisObject.p2pNetworkPeers = SA.projects.network.modules.p2pNetworkPeers.newNetworkModulesP2PNetworkPeers()
await thisObject.p2pNetworkPeers.initialize(
'Network Client',
thisObject.p2pNetworkClientIdentity,
thisObject.p2pNetwork,
global.env.DESKTOP_APP_MAX_OUTGOING_PEERS
)
}
async function setupServices() {
/*
This is where we will process all the messages comming from our web app.
*/
thisObject.webAppInterface = DK.projects.socialTrading.modules.webAppInterface.newSocialTradingModulesWebAppInterface() // this sends events to the p2p network
/*
This is where we will process all the events comming from the p2p network.
*/
thisObject.p2pNetworkInterface = DK.projects.socialTrading.modules.p2pNetworkInterface.newSocialTradingModulesP2PNetworkInterface() // this receives events from p2p network
/*
This is the Personal Social Graph for the user running this App.
*/
thisObject.socialGraph = DK.projects.socialTrading.modules.socialGraph.newSocialTradingModulesSocialGraph() //
await thisObject.socialGraph.initialize()
let express = require('./backend/src/index')
let expressPort = JSON.parse(DK.desktopApp.p2pNetworkClientIdentity.node.config).webPort;
express.startExpress(expressPort,SA);
console.log('express Interface ................................................ Listening at port ' + expressPort);
/*TODO change this to have a definite port number*/
let react = require('./frontend/scripts/start')
let reactPort = (+JSON.parse(DK.desktopApp.p2pNetworkClientIdentity.node.config).webPort + 1);
react.start(reactPort);
console.log('react Interface ................................................ Listening at port ' + reactPort);
}
}
}
+367
View File
@@ -0,0 +1,367 @@
function newWebApp() {
/*
In it's current state of development, the Web App only has one module.
Everything is being coded here until some structure emerges.
*/
let thisObject = {
messageReceived: messageReceived,
initialize: initialize,
finalize: finalize
}
return thisObject
function finalize() {
}
async function initialize() {
try {
setupRootObject(UI, 'UI')
setupRootObject(SA, 'SA')
await UI.projects.socialTrading.modules.webSocketsWebAppClient.initialize()
loadWUserProfileTimeline()
loadWhoToFollow()
setupEventHandlers()
} catch (err) {
console.log('[ERROR] initialize -> err.stack = ' + err.stack)
}
}
/*
function setupRootObject(rootObject, rootObjectName) {
/!*
Here we will setup the UI object, with all the
projects and spaces.
*!/
for (let i = 0; i < UI.schemas.projectSchema.length; i++) {
let projectDefinition = UI.schemas.projectSchema[i]
rootObject.projects[projectDefinition.propertyName] = {}
let projectInstance = rootObject.projects[projectDefinition.propertyName]
projectInstance.utilities = {}
projectInstance.globals = {}
projectInstance.functionLibraries = {}
projectInstance.modules = {}
if (projectDefinition[rootObjectName] === undefined) {
continue
}
/!* Set up Globals of this Project *!/
if (projectDefinition[rootObjectName].globals !== undefined) {
for (let j = 0; j < projectDefinition[rootObjectName].globals.length; j++) {
let globalDefinition = projectDefinition[rootObjectName].globals[j]
if (exports[globalDefinition.functionName] === undefined) {
projectInstance.globals[globalDefinition.propertyName] = eval(globalDefinition.functionName + '()')
} else {
projectInstance.globals[globalDefinition.propertyName] = eval('exports.' + globalDefinition.functionName + '()')
}
}
}
/!* Set up Utilities of this Project *!/
if (projectDefinition[rootObjectName].utilities !== undefined) {
for (let j = 0; j < projectDefinition[rootObjectName].utilities.length; j++) {
let utilityDefinition = projectDefinition[rootObjectName].utilities[j]
if (exports[utilityDefinition.functionName] === undefined) {
projectInstance.utilities[utilityDefinition.propertyName] = eval(utilityDefinition.functionName + '()')
} else {
projectInstance.utilities[utilityDefinition.propertyName] = eval('exports.' + utilityDefinition.functionName + '()')
}
}
}
/!* Set up Function Libraries of this Project *!/
if (projectDefinition[rootObjectName].functionLibraries !== undefined) {
for (let j = 0; j < projectDefinition[rootObjectName].functionLibraries.length; j++) {
let functionLibraryDefinition = projectDefinition[rootObjectName].functionLibraries[j]
if (exports[functionLibraryDefinition.functionName] === undefined) {
projectInstance.functionLibraries[functionLibraryDefinition.propertyName] = eval(functionLibraryDefinition.functionName + '()')
} else {
projectInstance.functionLibraries[functionLibraryDefinition.propertyName] = eval('exports.' + functionLibraryDefinition.functionName + '()')
}
}
}
/!* Set up Modules of this Project *!/
if (projectDefinition[rootObjectName].modules !== undefined) {
for (let j = 0; j < projectDefinition[rootObjectName].modules.length; j++) {
let functionLibraryDefinition = projectDefinition[rootObjectName].modules[j]
if (exports[functionLibraryDefinition.functionName] === undefined) {
projectInstance.modules[functionLibraryDefinition.propertyName] = eval(functionLibraryDefinition.functionName + '()')
} else {
projectInstance.modules[functionLibraryDefinition.propertyName] = eval('exports.' + functionLibraryDefinition.functionName + '()')
}
}
}
}
}
*/
/*
async function loadWUserProfileTimeline() {
let queryMessage = {
queryType: SA.projects.socialTrading.globals.queryTypes.EVENTS,
emitterUserProfileId: undefined,
initialIndex: SA.projects.socialTrading.globals.queryConstants.INITIAL_INDEX_LAST,
amountRequested: 100,
direction: SA.projects.socialTrading.globals.queryConstants.DIRECTION_PAST
}
let query = {
requestType: 'Query',
queryMessage: JSON.stringify(queryMessage)
}
await UI.projects.socialTrading.modules.webSocketsWebAppClient.sendMessage(
JSON.stringify(query)
)
.then(console.log)
.catch(onError)
function onError(errorMessage) {
console.log('[ERROR] Query not executed. ' + errorMessage)
console.log('[ERROR] query = ' + JSON.stringify(query))
}
function addToContentDiv(events) {
try {
let contentDiv = document.getElementById('content-div')
/!*
Delete al current content.
*!/
while (contentDiv.childNodes.length > 4) {
let childToRemove = contentDiv.childNodes[contentDiv.childNodes.length - 1]
contentDiv.removeChild(childToRemove)
}
/!*
Render the timeline.
*!/
for (let i = 0; i < events.length; i++) {
let event = events[i]
let postDiv = document.createElement("div")
postDiv.setAttribute("class", "post-div")
let textNode
switch (event.eventType) {
case SA.projects.socialTrading.globals.eventTypes.NEW_USER_POST: {
textNode = document.createTextNode(event.emitterUserProfile.userProfileHandle + " POSTED " + event.postText)
break
}
case SA.projects.socialTrading.globals.eventTypes.FOLLOW_USER_PROFILE: {
textNode = document.createTextNode(event.emitterUserProfile.userProfileHandle + " FOLLOWED " + event.targetUserProfile.userProfileHandle)
break
}
case SA.projects.socialTrading.globals.eventTypes.UNFOLLOW_USER_PROFILE: {
textNode = document.createTextNode(event.emitterUserProfile.userProfileHandle + " UNFOLLOWED " + event.targetUserProfile.userProfileHandle)
break
}
}
postDiv.appendChild(textNode)
contentDiv.appendChild(postDiv)
}
}
catch (err) {
console.log('[ERROR] err.stack = ' + err.stack)
}
}
}
*/
/*
async function loadWhoToFollow() {
let queryMessage = {
queryType: SA.projects.socialTrading.globals.queryTypes.UNFOLLOWED_USER_PROFILES,
emitterUserProfileId: undefined,
initialIndex: SA.projects.socialTrading.globals.queryConstants.INITIAL_INDEX_FIRST,
amountRequested: 3,
direction: SA.projects.socialTrading.globals.queryConstants.DIRECTION_UP
}
let query = {
requestType: 'Query',
queryMessage: JSON.stringify(queryMessage)
}
await UI.projects.socialTrading.modules.webSocketsWebAppClient.sendMessage(
JSON.stringify(query)
)
.then(addWhoToFollowTable)
.catch(onError)
function onError(errorMessage) {
console.log('[ERROR] Query not executed. ' + errorMessage)
console.log('[ERROR] query = ' + JSON.stringify(query))
}
}
*/
function setupEventHandlers() {
/*
Add events to process button clicks , and mouseWheel.
*/
document.addEventListener("click", onClick)
document.addEventListener('mousewheel', onMouseWheel, false)
async function onClick(event) {
if (event.target && event.target.nodeName === "BUTTON") {
switch (event.target.name) {
case 'New Post': {
let textArea = document.getElementById("new-post-text-area")
await sendNewPostEvent(
textArea.value
)
.then(updateTextArea)
.catch(onError)
function updateTextArea() {
textArea.value = ""
}
break
}
case 'Follow Profile': {
await sendTargetUserProfileEvent(
event.target.userProfileId,
SA.projects.socialTrading.globals.eventTypes.FOLLOW_USER_PROFILE
)
.then(updateButton)
.catch(onError)
function updateButton() {
let span = document.getElementById('profile-to-follow-span-' + event.target.userProfileId)
let button = document.getElementById('profile-to-follow-button-' + event.target.userProfileId)
span.setAttribute("class", "profile-to-unfollow-span")
button.setAttribute("class", "profile-to-unfollow-button")
button.name = 'Unfollow Profile'
}
break
}
case 'Unfollow Profile': {
await sendTargetUserProfileEvent(
event.target.userProfileId,
SA.projects.socialTrading.globals.eventTypes.UNFOLLOW_USER_PROFILE
)
.then(updateButton)
.catch(onError)
/*
function updateButton() {
let span = document.getElementById('profile-to-follow-span-' + event.target.userProfileId)
let button = document.getElementById('profile-to-follow-button-' + event.target.userProfileId)
span.setAttribute("class", "profile-to-follow-span")
button.setAttribute("class", "profile-to-follow-button")
button.name = 'Follow Profile'
}
*/
break
}
}
}
/*
Error Handling
*/
function onError(errorMessage) {
console.log('[ERROR] Click event failed. ' + errorMessage)
}
}
function onMouseWheel(event) {
let scrollDiv = document.getElementById("scroll-div")
scrollDiv.scrollTop = scrollDiv.scrollTop + event.deltaY
}
}
async function sendTargetUserProfileEvent(
userProfileId,
eventType
) {
return new Promise((resolve, reject) => {
asyncCall(resolve, reject)
})
async function asyncCall(resolve, reject) {
let eventMessage
let event
eventMessage = {
eventType: eventType,
eventId: SA.projects.foundations.utilities.miscellaneousFunctions.genereteUniqueId(),
targetUserProfileId: userProfileId,
timestamp: (new Date()).valueOf()
}
event = {
requestType: 'Event',
eventMessage: JSON.stringify(eventMessage)
}
await UI.projects.socialTrading.modules.webSocketsWebAppClient.sendMessage(
JSON.stringify(event)
)
.then(resolve)
.catch(onError)
function onError(errorMessage) {
console.log('[ERROR] Event not executed. ' + errorMessage)
console.log('[ERROR] event = ' + JSON.stringify(event))
reject(errorMessage)
}
}
}
async function sendNewPostEvent(
postText
) {
return new Promise((resolve, reject) => {
asyncCall(resolve, reject)
})
async function asyncCall(resolve, reject) {
let eventMessage
let event
eventMessage = {
eventType: SA.projects.socialTrading.globals.eventTypes.NEW_USER_POST,
eventId: SA.projects.foundations.utilities.miscellaneousFunctions.genereteUniqueId(),
postText: postText,
timestamp: (new Date()).valueOf()
}
event = {
requestType: 'Event',
eventMessage: JSON.stringify(eventMessage)
}
await UI.projects.socialTrading.modules.webSocketsWebAppClient.sendMessage(
JSON.stringify(event)
)
.then(resolve)
.catch(onError)
function onError(errorMessage) {
console.log('[ERROR] Event not executed. ' + errorMessage)
console.log('[ERROR] event = ' + JSON.stringify(event))
reject(errorMessage)
}
}
}
function messageReceived(message) {
window.alert(message)
}
}
+116
View File
@@ -0,0 +1,116 @@
exports.startExpress = (port, SA) => {
const express = require("express");
const app = express();
const webAppInterface = DK.projects.socialTrading.modules.webAppInterface.newSocialTradingModulesWebAppInterface();
app.use(express.json());
// define a route handler for the default home page
app.get("/health-check", (req, res) => {
res.send("all good");
});
app.get("/profiles", async (req, res) => {
let profiles = await whoToFollow();
console.log(profiles)
res.send(profiles);
});
app.post("/follow", async (req, res) => {
let follow = followProfile(req.body.userProfileId, SA.projects.socialTrading.globals.eventTypes.FOLLOW_USER_PROFILE);
res.send("Followed")
});
app.post("/unFollow", async (req, res) => {
let follow = followProfile(req.body.userProfileId, SA.projects.socialTrading.globals.eventTypes.UNFOLLOW_USER_PROFILE);
res.send("UnFollow")
});
app.post("/post", async (req, res) => {
console.log(req)
let post = createPost(req);
res.send(post)
});
// start the Express server
app.listen(port, () => {
console.log(`server started at http://localhost:${port}`);
});
async function createPost(postText) {
try {
let eventMessage;
let event;
eventMessage = {
eventType: SA.projects.socialTrading.globals.eventTypes.NEW_USER_POST,
eventId: SA.projects.foundations.utilities.miscellaneousFunctions.genereteUniqueId(),
postText: postText,
timestamp: (new Date()).valueOf()
}
event = {
requestType: 'Event',
eventMessage: JSON.stringify(eventMessage)
}
return await webAppInterface.sendMessage(
JSON.stringify(event)
);
} catch (e) {
console.log(e);
return {};
}
}
async function whoToFollow() {
try {
let queryMessage = {
queryType: SA.projects.socialTrading.globals.queryTypes.UNFOLLOWED_USER_PROFILES,
emitterUserProfileId: undefined,
initialIndex: SA.projects.socialTrading.globals.queryConstants.INITIAL_INDEX_FIRST,
amountRequested: 3,
direction: SA.projects.socialTrading.globals.queryConstants.DIRECTION_UP
}
let query = {
requestType: 'Query',
queryMessage: JSON.stringify(queryMessage)
}
return await webAppInterface.messageReceived(
JSON.stringify(query)
);
} catch (e) {
console.log(e);
return [];
}
}
async function followProfile(userProfileId, eventType) {
try {
let queryMessage = {
queryType: SA.projects.socialTrading.globals.queryTypes.UNFOLLOWED_USER_PROFILES,
emitterUserProfileId: undefined,
initialIndex: SA.projects.socialTrading.globals.queryConstants.INITIAL_INDEX_FIRST,
amountRequested: 3,
direction: SA.projects.socialTrading.globals.queryConstants.DIRECTION_UP
}
let query = {
requestType: 'Query',
queryMessage: JSON.stringify(queryMessage)
}
return await webAppInterface.messageReceived(
JSON.stringify(query)
);
} catch (e) {
console.log(e);
return {};
}
}
}
+106
View File
@@ -0,0 +1,106 @@
const fs = require('fs');
const path = require('path');
const paths = require('./paths');
// Make sure that including paths.js after env.js will read .env variables.
delete require.cache[require.resolve('./paths')];
const NODE_ENV = process.env.NODE_ENV;
if (!NODE_ENV) {
throw new Error(
'The NODE_ENV environment variable is required but was not specified.'
);
}
// https://github.com/bkeepers/dotenv#what-other-env-files-can-i-use
const dotenvFiles = [
`${paths.dotenv}.${NODE_ENV}.local`,
// Don't include `.env.local` for `test` environment
// since normally you expect tests to produce the same
// results for everyone
NODE_ENV !== 'test' && `${paths.dotenv}.local`,
`${paths.dotenv}.${NODE_ENV}`,
paths.dotenv,
].filter(Boolean);
// Load environment variables from .env* files. Suppress warnings using silent
// if this file is missing. dotenv will never modify any environment variables
// that have already been set. Variable expansion is supported in .env files.
// https://github.com/motdotla/dotenv
// https://github.com/motdotla/dotenv-expand
dotenvFiles.forEach(dotenvFile => {
if (fs.existsSync(dotenvFile)) {
require('dotenv-expand')(
require('dotenv').config({
path: dotenvFile,
})
);
}
});
// We support resolving modules according to `NODE_PATH`.
// This lets you use absolute paths in imports inside large monorepos:
// https://github.com/facebook/create-react-app/issues/253.
// It works similar to `NODE_PATH` in Node itself:
// https://nodejs.org/api/modules.html#modules_loading_from_the_global_folders
// Note that unlike in Node, only *relative* paths from `NODE_PATH` are honored.
// Otherwise, we risk importing Node.js core modules into an app instead of webpack shims.
// https://github.com/facebook/create-react-app/issues/1023#issuecomment-265344421
// We also resolve them to make sure all tools using them work consistently.
const appDirectory = fs.realpathSync(process.cwd());
process.env.NODE_PATH = (process.env.NODE_PATH || '')
.split(path.delimiter)
.filter(folder => folder && !path.isAbsolute(folder))
.map(folder => path.resolve(appDirectory, folder))
.join(path.delimiter);
// Grab NODE_ENV and REACT_APP_* environment variables and prepare them to be
// injected into the application via DefinePlugin in webpack configuration.
const REACT_APP = /^REACT_APP_/i;
function getClientEnvironment(publicUrl) {
const raw = Object.keys(process.env)
.filter(key => REACT_APP.test(key))
.reduce(
(env, key) => {
env[key] = process.env[key];
return env;
},
{
// Useful for determining whether we’re running in production mode.
// Most importantly, it switches React into the correct mode.
NODE_ENV: process.env.NODE_ENV || 'development',
// Useful for resolving the correct path to static assets in `public`.
// For example, <img src={process.env.PUBLIC_URL + '/img/logo.png'} />.
// This should only be used as an escape hatch. Normally you would put
// images into the `src` and `import` them in code to get their paths.
PUBLIC_URL: publicUrl,
// We support configuring the sockjs pathname during development.
// These settings let a developer run multiple simultaneous projects.
// They are used as the connection `hostname`, `pathname` and `port`
// in webpackHotDevClient. They are used as the `sockHost`, `sockPath`
// and `sockPort` options in webpack-dev-server.
WDS_SOCKET_HOST: process.env.WDS_SOCKET_HOST,
WDS_SOCKET_PATH: process.env.WDS_SOCKET_PATH,
WDS_SOCKET_PORT: process.env.WDS_SOCKET_PORT,
// Whether or not react-refresh is enabled.
// react-refresh is not 100% stable at this time,
// which is why it's disabled by default.
// It is defined here so it is available in the webpackHotDevClient.
FAST_REFRESH: process.env.FAST_REFRESH !== 'false',
}
);
// Stringify all values so we can feed into webpack DefinePlugin
const stringified = {
'process.env': Object.keys(raw).reduce((env, key) => {
env[key] = JSON.stringify(raw[key]);
return env;
}, {}),
};
return { raw, stringified };
}
module.exports = getClientEnvironment;
@@ -0,0 +1,66 @@
const fs = require('fs');
const path = require('path');
const crypto = require('crypto');
const chalk = require('react-dev-utils/chalk');
const paths = require('./paths');
// Ensure the certificate and key provided are valid and if not
// throw an easy to debug error
function validateKeyAndCerts({ cert, key, keyFile, crtFile }) {
let encrypted;
try {
// publicEncrypt will throw an error with an invalid cert
encrypted = crypto.publicEncrypt(cert, Buffer.from('test'));
} catch (err) {
throw new Error(
`The certificate "${chalk.yellow(crtFile)}" is invalid.\n${err.message}`
);
}
try {
// privateDecrypt will throw an error with an invalid key
crypto.privateDecrypt(key, encrypted);
} catch (err) {
throw new Error(
`The certificate key "${chalk.yellow(keyFile)}" is invalid.\n${
err.message
}`
);
}
}
// Read file and throw an error if it doesn't exist
function readEnvFile(file, type) {
if (!fs.existsSync(file)) {
throw new Error(
`You specified ${chalk.cyan(
type
)} in your env, but the file "${chalk.yellow(file)}" can't be found.`
);
}
return fs.readFileSync(file);
}
// Get the https config
// Return cert files if provided in env, otherwise just true or false
function getHttpsConfig() {
const { SSL_CRT_FILE, SSL_KEY_FILE, HTTPS } = process.env;
const isHttps = HTTPS === 'true';
if (isHttps && SSL_CRT_FILE && SSL_KEY_FILE) {
const crtFile = path.resolve(paths.appPath, SSL_CRT_FILE);
const keyFile = path.resolve(paths.appPath, SSL_KEY_FILE);
const config = {
cert: readEnvFile(crtFile, 'SSL_CRT_FILE'),
key: readEnvFile(keyFile, 'SSL_KEY_FILE'),
};
validateKeyAndCerts({ ...config, keyFile, crtFile });
return config;
}
return isHttps;
}
module.exports = getHttpsConfig;
+134
View File
@@ -0,0 +1,134 @@
const fs = require('fs');
const path = require('path');
const paths = require('./paths');
const chalk = require('react-dev-utils/chalk');
const resolve = require('resolve');
/**
* Get additional module paths based on the baseUrl of a compilerOptions object.
*
* @param {Object} options
*/
function getAdditionalModulePaths(options = {}) {
const baseUrl = options.baseUrl;
if (!baseUrl) {
return '';
}
const baseUrlResolved = path.resolve(paths.appPath, baseUrl);
// We don't need to do anything if `baseUrl` is set to `node_modules`. This is
// the default behavior.
if (path.relative(paths.appNodeModules, baseUrlResolved) === '') {
return null;
}
// Allow the user set the `baseUrl` to `appSrc`.
if (path.relative(paths.appSrc, baseUrlResolved) === '') {
return [paths.appSrc];
}
// If the path is equal to the root directory we ignore it here.
// We don't want to allow importing from the root directly as source files are
// not transpiled outside of `src`. We do allow importing them with the
// absolute path (e.g. `src/Components/Button.js`) but we set that up with
// an alias.
if (path.relative(paths.appPath, baseUrlResolved) === '') {
return null;
}
// Otherwise, throw an error.
throw new Error(
chalk.red.bold(
"Your project's `baseUrl` can only be set to `src` or `node_modules`." +
' Create React App does not support other values at this time.'
)
);
}
/**
* Get webpack aliases based on the baseUrl of a compilerOptions object.
*
* @param {*} options
*/
function getWebpackAliases(options = {}) {
const baseUrl = options.baseUrl;
if (!baseUrl) {
return {};
}
const baseUrlResolved = path.resolve(paths.appPath, baseUrl);
if (path.relative(paths.appPath, baseUrlResolved) === '') {
return {
src: paths.appSrc,
};
}
}
/**
* Get jest aliases based on the baseUrl of a compilerOptions object.
*
* @param {*} options
*/
function getJestAliases(options = {}) {
const baseUrl = options.baseUrl;
if (!baseUrl) {
return {};
}
const baseUrlResolved = path.resolve(paths.appPath, baseUrl);
if (path.relative(paths.appPath, baseUrlResolved) === '') {
return {
'^src/(.*)$': '<rootDir>/src/$1',
};
}
}
function getModules() {
// Check if TypeScript is setup
const hasTsConfig = fs.existsSync(paths.appTsConfig);
const hasJsConfig = fs.existsSync(paths.appJsConfig);
if (hasTsConfig && hasJsConfig) {
throw new Error(
'You have both a tsconfig.json and a jsconfig.json. If you are using TypeScript please remove your jsconfig.json file.'
);
}
let config;
// If there's a tsconfig.json we assume it's a
// TypeScript project and set up the config
// based on tsconfig.json
if (hasTsConfig) {
const ts = require(resolve.sync('typescript', {
basedir: paths.appNodeModules,
}));
config = ts.readConfigFile(paths.appTsConfig, ts.sys.readFile).config;
// Otherwise we'll check if there is jsconfig.json
// for non TS projects.
} else if (hasJsConfig) {
config = require(paths.appJsConfig);
}
config = config || {};
const options = config.compilerOptions || {};
const additionalModulePaths = getAdditionalModulePaths(options);
return {
additionalModulePaths: additionalModulePaths,
webpackAliases: getWebpackAliases(options),
jestAliases: getJestAliases(options),
hasTsConfig,
};
}
module.exports = getModules();
+68
View File
@@ -0,0 +1,68 @@
const path = require('path');
const fs = require('fs');
const getPublicUrlOrPath = require('react-dev-utils/getPublicUrlOrPath');
const {appPublic} = require("./paths");
// Make sure any symlinks in the project folder are resolved:
// https://github.com/facebook/create-react-app/issues/637
const appDirectory = fs.realpathSync(process.cwd());
const resolveApp = relativePath => path.resolve(appDirectory, relativePath);
// We use `PUBLIC_URL` environment variable or "homepage" field to infer
// "public path" at which the app is served.
// webpack needs to know it to put the right <script> hrefs into HTML even in
// single-page apps that may serve index.html for nested URLs like /todos/42.
// We can't use a relative path in HTML because we don't want to load something
// like /todos/42/static/js/bundle.7289d.js. We have to know the root.
const publicUrlOrPath = getPublicUrlOrPath(
process.env.NODE_ENV === 'development',
require(resolveApp('package.json')).homepage,
process.env.PUBLIC_URL
);
const buildPath = process.env.BUILD_PATH || 'DesktopReact/build';
const moduleFileExtensions = [
'web.mjs',
'mjs',
'web.js',
'js',
'web.ts',
'ts',
'web.tsx',
'tsx',
'json',
'web.jsx',
'jsx',
];
// Resolve file paths in the same order as webpack
const resolveModule = (resolveFn, filePath) => {
const extension = moduleFileExtensions.find(extension =>
fs.existsSync(resolveFn(`${filePath}.${extension}`))
);
if (extension) {
return resolveFn(`${filePath}.${extension}`);
}
return resolveFn(`${filePath}.js`);
};
// config after eject: we're in ./config/
module.exports = {
dotenv: resolveApp('.env'),
appPath: resolveApp('.'),
appBuild: resolveApp(buildPath),
appPublic: resolveApp('DesktopReact/frontend/public'),
appHtml: resolveApp('DesktopReact/frontend/public/index.html'),
appIndexJs: resolveModule(resolveApp, 'DesktopReact/frontend/src/index'),
appPackageJson: resolveApp('package.json'),
appSrc: resolveApp('DesktopReact/frontend/src'),
appNodeModules: resolveApp('node_modules'),
publicUrlOrPath,
};
module.exports.moduleFileExtensions = moduleFileExtensions;
+35
View File
@@ -0,0 +1,35 @@
const { resolveModuleName } = require('ts-pnp');
exports.resolveModuleName = (
typescript,
moduleName,
containingFile,
compilerOptions,
resolutionHost
) => {
return resolveModuleName(
moduleName,
containingFile,
compilerOptions,
resolutionHost,
typescript.resolveModuleName
);
};
exports.resolveTypeReferenceDirective = (
typescript,
moduleName,
containingFile,
compilerOptions,
resolutionHost
) => {
return resolveModuleName(
moduleName,
containingFile,
compilerOptions,
resolutionHost,
typescript.resolveTypeReferenceDirective
);
};
@@ -0,0 +1,757 @@
const fs = require('fs');
const path = require('path');
const webpack = require('webpack');
const resolve = require('resolve');
const PnpWebpackPlugin = require('pnp-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const CaseSensitivePathsPlugin = require('case-sensitive-paths-webpack-plugin');
const InlineChunkHtmlPlugin = require('react-dev-utils/InlineChunkHtmlPlugin');
const TerserPlugin = require('terser-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const OptimizeCSSAssetsPlugin = require('optimize-css-assets-webpack-plugin');
const safePostCssParser = require('postcss-safe-parser');
const ManifestPlugin = require('webpack-manifest-plugin');
const InterpolateHtmlPlugin = require('react-dev-utils/InterpolateHtmlPlugin');
const WorkboxWebpackPlugin = require('workbox-webpack-plugin');
const WatchMissingNodeModulesPlugin = require('react-dev-utils/WatchMissingNodeModulesPlugin');
const ModuleScopePlugin = require('react-dev-utils/ModuleScopePlugin');
const getCSSModuleLocalIdent = require('react-dev-utils/getCSSModuleLocalIdent');
const ESLintPlugin = require('eslint-webpack-plugin');
const paths = require('./paths');
const modules = require('./modules');
const getClientEnvironment = require('./env');
const ModuleNotFoundPlugin = require('react-dev-utils/ModuleNotFoundPlugin');
const ForkTsCheckerWebpackPlugin = require('react-dev-utils/ForkTsCheckerWebpackPlugin');
const typescriptFormatter = require('react-dev-utils/typescriptFormatter');
const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin');
const postcssNormalize = require('postcss-normalize');
const appPackageJson = require(paths.appPackageJson);
// Source maps are resource heavy and can cause out of memory issue for large source files.
const shouldUseSourceMap = process.env.GENERATE_SOURCEMAP !== 'false';
const webpackDevClientEntry = require.resolve(
'react-dev-utils/webpackHotDevClient'
);
const reactRefreshOverlayEntry = require.resolve(
'react-dev-utils/refreshOverlayInterop'
);
// Some apps do not need the benefits of saving a web request, so not inlining the chunk
// makes for a smoother build process.
const shouldInlineRuntimeChunk = process.env.INLINE_RUNTIME_CHUNK !== 'false';
const emitErrorsAsWarnings = process.env.ESLINT_NO_DEV_ERRORS === 'true';
const disableESLintPlugin = process.env.DISABLE_ESLINT_PLUGIN === 'true';
const imageInlineSizeLimit = parseInt(
process.env.IMAGE_INLINE_SIZE_LIMIT || '10000'
);
// Check if TypeScript is setup
const useTypeScript = fs.existsSync(paths.appTsConfig);
// Get the path to the uncompiled service worker (if it exists).
const swSrc = paths.swSrc;
// style files regexes
const cssRegex = /\.css$/;
const cssModuleRegex = /\.module\.css$/;
const sassRegex = /\.(scss|sass)$/;
const sassModuleRegex = /\.module\.(scss|sass)$/;
const hasJsxRuntime = (() => {
if (process.env.DISABLE_NEW_JSX_TRANSFORM === 'true') {
return false;
}
try {
require.resolve('react/jsx-runtime');
return true;
} catch (e) {
return false;
}
})();
// This is the production and development configuration.
// It is focused on developer experience, fast rebuilds, and a minimal bundle.
module.exports = function (webpackEnv) {
const isEnvDevelopment = webpackEnv === 'development';
const isEnvProduction = webpackEnv === 'production';
// Variable used for enabling profiling in Production
// passed into alias object. Uses a flag if passed into the build command
const isEnvProductionProfile =
isEnvProduction && process.argv.includes('--profile');
// We will provide `paths.publicUrlOrPath` to our app
// as %PUBLIC_URL% in `index.html` and `process.env.PUBLIC_URL` in JavaScript.
// Omit trailing slash as %PUBLIC_URL%/xyz looks better than %PUBLIC_URL%xyz.
// Get environment variables to inject into our app.
const env = getClientEnvironment(paths.publicUrlOrPath.slice(0, -1));
const shouldUseReactRefresh = env.raw.FAST_REFRESH;
// common function to get style loaders
const getStyleLoaders = (cssOptions, preProcessor) => {
const loaders = [
isEnvDevelopment && require.resolve('style-loader'),
isEnvProduction && {
loader: MiniCssExtractPlugin.loader,
// css is located in `static/css`, use '../../' to locate index.html folder
// in production `paths.publicUrlOrPath` can be a relative path
options: paths.publicUrlOrPath.startsWith('.')
? { publicPath: '../../' }
: {},
},
{
loader: require.resolve('css-loader'),
options: cssOptions,
},
{
// Options for PostCSS as we reference these options twice
// Adds vendor prefixing based on your specified browser support in
// package.json
loader: require.resolve('postcss-loader'),
options: {
// Necessary for external CSS imports to work
// https://github.com/facebook/create-react-app/issues/2677
ident: 'postcss',
plugins: () => [
require('postcss-flexbugs-fixes'),
require('postcss-preset-env')({
autoprefixer: {
flexbox: 'no-2009',
},
stage: 3,
}),
// Adds PostCSS Normalize as the reset css with default options,
// so that it honors browserslist config in package.json
// which in turn let's users customize the target behavior as per their needs.
postcssNormalize(),
],
sourceMap: isEnvProduction ? shouldUseSourceMap : isEnvDevelopment,
},
},
].filter(Boolean);
if (preProcessor) {
loaders.push(
{
loader: require.resolve('resolve-url-loader'),
options: {
sourceMap: isEnvProduction ? shouldUseSourceMap : isEnvDevelopment,
root: paths.appSrc,
},
},
{
loader: require.resolve(preProcessor),
options: {
sourceMap: true,
},
}
);
}
return loaders;
};
return {
mode: isEnvProduction ? 'production' : isEnvDevelopment && 'development',
// Stop compilation early in production
bail: isEnvProduction,
devtool: isEnvProduction
? shouldUseSourceMap
? 'source-map'
: false
: isEnvDevelopment && 'cheap-module-source-map',
// These are the "entry points" to our application.
// This means they will be the "root" imports that are included in JS bundle.
entry:
isEnvDevelopment && !shouldUseReactRefresh
? [
// Include an alternative client for WebpackDevServer. A client's job is to
// connect to WebpackDevServer by a socket and get notified about changes.
// When you save a file, the client will either apply hot updates (in case
// of CSS changes), or refresh the page (in case of JS changes). When you
// make a syntax error, this client will display a syntax error overlay.
// Note: instead of the default WebpackDevServer client, we use a custom one
// to bring better experience for Create React App users. You can replace
// the line below with these two lines if you prefer the stock client:
//
// require.resolve('webpack-dev-server/client') + '?/',
// require.resolve('webpack/hot/dev-server'),
//
// When using the experimental react-refresh integration,
// the webpack plugin takes care of injecting the dev client for us.
webpackDevClientEntry,
// Finally, this is your app's code:
paths.appIndexJs,
// We include the app code last so that if there is a runtime error during
// initialization, it doesn't blow up the WebpackDevServer client, and
// changing JS code would still trigger a refresh.
]
: paths.appIndexJs,
output: {
// The build folder.
path: isEnvProduction ? paths.appBuild : undefined,
// Add /* filename */ comments to generated require()s in the output.
pathinfo: isEnvDevelopment,
// There will be one main bundle, and one file per asynchronous chunk.
// In development, it does not produce real files.
filename: isEnvProduction
? 'static/js/[name].[contenthash:8].js'
: isEnvDevelopment && 'static/js/bundle.js',
// TODO: remove this when upgrading to webpack 5
futureEmitAssets: true,
// There are also additional JS chunk files if you use code splitting.
chunkFilename: isEnvProduction
? 'static/js/[name].[contenthash:8].chunk.js'
: isEnvDevelopment && 'static/js/[name].chunk.js',
// webpack uses `publicPath` to determine where the app is being served from.
// It requires a trailing slash, or the file assets will get an incorrect path.
// We inferred the "public path" (such as / or /my-project) from homepage.
publicPath: paths.publicUrlOrPath,
// Point sourcemap entries to original disk location (format as URL on Windows)
devtoolModuleFilenameTemplate: isEnvProduction
? info =>
path
.relative(paths.appSrc, info.absoluteResourcePath)
.replace(/\\/g, '/')
: isEnvDevelopment &&
(info => path.resolve(info.absoluteResourcePath).replace(/\\/g, '/')),
// Prevents conflicts when multiple webpack runtimes (from different apps)
// are used on the same page.
jsonpFunction: `webpackJsonp${appPackageJson.name}`,
// this defaults to 'window', but by setting it to 'this' then
// module chunks which are built will work in web workers as well.
globalObject: 'this',
},
optimization: {
minimize: isEnvProduction,
minimizer: [
// This is only used in production mode
new TerserPlugin({
terserOptions: {
parse: {
// We want terser to parse ecma 8 code. However, we don't want it
// to apply any minification steps that turns valid ecma 5 code
// into invalid ecma 5 code. This is why the 'compress' and 'output'
// sections only apply transformations that are ecma 5 safe
// https://github.com/facebook/create-react-app/pull/4234
ecma: 8,
},
compress: {
ecma: 5,
warnings: false,
// Disabled because of an issue with Uglify breaking seemingly valid code:
// https://github.com/facebook/create-react-app/issues/2376
// Pending further investigation:
// https://github.com/mishoo/UglifyJS2/issues/2011
comparisons: false,
// Disabled because of an issue with Terser breaking valid code:
// https://github.com/facebook/create-react-app/issues/5250
// Pending further investigation:
// https://github.com/terser-js/terser/issues/120
inline: 2,
},
mangle: {
safari10: true,
},
// Added for profiling in devtools
keep_classnames: isEnvProductionProfile,
keep_fnames: isEnvProductionProfile,
output: {
ecma: 5,
comments: false,
// Turned on because emoji and regex is not minified properly using default
// https://github.com/facebook/create-react-app/issues/2488
ascii_only: true,
},
},
sourceMap: shouldUseSourceMap,
}),
// This is only used in production mode
new OptimizeCSSAssetsPlugin({
cssProcessorOptions: {
parser: safePostCssParser,
map: shouldUseSourceMap
? {
// `inline: false` forces the sourcemap to be output into a
// separate file
inline: false,
// `annotation: true` appends the sourceMappingURL to the end of
// the css file, helping the browser find the sourcemap
annotation: true,
}
: false,
},
cssProcessorPluginOptions: {
preset: ['default', { minifyFontValues: { removeQuotes: false } }],
},
}),
],
// Automatically split vendor and commons
// https://twitter.com/wSokra/status/969633336732905474
// https://medium.com/webpack/webpack-4-code-splitting-chunk-graph-and-the-splitchunks-optimization-be739a861366
splitChunks: {
chunks: 'all',
name: isEnvDevelopment,
},
// Keep the runtime chunk separated to enable long term caching
// https://twitter.com/wSokra/status/969679223278505985
// https://github.com/facebook/create-react-app/issues/5358
runtimeChunk: {
name: entrypoint => `runtime-${entrypoint.name}`,
},
},
resolve: {
// This allows you to set a fallback for where webpack should look for modules.
// We placed these paths second because we want `node_modules` to "win"
// if there are any conflicts. This matches Node resolution mechanism.
// https://github.com/facebook/create-react-app/issues/253
modules: ['node_modules', paths.appNodeModules].concat(
modules.additionalModulePaths || []
),
// These are the reasonable defaults supported by the Node ecosystem.
// We also include JSX as a common component filename extension to support
// some tools, although we do not recommend using it, see:
// https://github.com/facebook/create-react-app/issues/290
// `web` extension prefixes have been added for better support
// for React Native Web.
extensions: paths.moduleFileExtensions
.map(ext => `.${ext}`)
.filter(ext => useTypeScript || !ext.includes('ts')),
alias: {
// Support React Native Web
// https://www.smashingmagazine.com/2016/08/a-glimpse-into-the-future-with-react-native-for-web/
'react-native': 'react-native-web',
// Allows for better profiling with ReactDevTools
...(isEnvProductionProfile && {
'react-dom$': 'react-dom/profiling',
'scheduler/tracing': 'scheduler/tracing-profiling',
}),
...(modules.webpackAliases || {}),
},
plugins: [
// Adds support for installing with Plug'n'Play, leading to faster installs and adding
// guards against forgotten dependencies and such.
PnpWebpackPlugin,
// Prevents users from importing files from outside of src/ (or node_modules/).
// This often causes confusion because we only process files within src/ with babel.
// To fix this, we prevent you from importing files out of src/ -- if you'd like to,
// please link the files into your node_modules/ and let module-resolution kick in.
// Make sure your source files are compiled, as they will not be processed in any way.
new ModuleScopePlugin(paths.appSrc, [
paths.appPackageJson,
reactRefreshOverlayEntry,
]),
],
},
resolveLoader: {
plugins: [
// Also related to Plug'n'Play, but this time it tells webpack to load its loaders
// from the current package.
PnpWebpackPlugin.moduleLoader(module),
],
},
module: {
strictExportPresence: true,
rules: [
// Disable require.ensure as it's not a standard language feature.
{ parser: { requireEnsure: false } },
{
// "oneOf" will traverse all following loaders until one will
// match the requirements. When no loader matches it will fall
// back to the "file" loader at the end of the loader list.
oneOf: [
// TODO: Merge this config once `image/avif` is in the mime-db
// https://github.com/jshttp/mime-db
{
test: [/\.avif$/],
loader: require.resolve('url-loader'),
options: {
limit: imageInlineSizeLimit,
mimetype: 'image/avif',
name: 'static/media/[name].[hash:8].[ext]',
},
},
// "url" loader works like "file" loader except that it embeds assets
// smaller than specified limit in bytes as data URLs to avoid requests.
// A missing `test` is equivalent to a match.
{
test: [/\.bmp$/, /\.gif$/, /\.jpe?g$/, /\.png$/],
loader: require.resolve('url-loader'),
options: {
limit: imageInlineSizeLimit,
name: 'static/media/[name].[hash:8].[ext]',
},
},
// Process application JS with Babel.
// The preset includes JSX, Flow, TypeScript, and some ESnext features.
{
test: /\.(js|mjs|jsx|ts|tsx)$/,
include: paths.appSrc,
loader: require.resolve('babel-loader'),
options: {
customize: require.resolve(
'babel-preset-react-app/webpack-overrides'
),
presets: [
[
require.resolve('babel-preset-react-app'),
{
runtime: hasJsxRuntime ? 'automatic' : 'classic',
},
],
],
plugins: [
[
require.resolve('babel-plugin-named-asset-import'),
{
loaderMap: {
svg: {
ReactComponent:
'@svgr/webpack?-svgo,+titleProp,+ref![path]',
},
},
},
],
isEnvDevelopment &&
shouldUseReactRefresh &&
require.resolve('react-refresh/babel'),
].filter(Boolean),
// This is a feature of `babel-loader` for webpack (not Babel itself).
// It enables caching results in ./node_modules/.cache/babel-loader/
// directory for faster rebuilds.
cacheDirectory: true,
// See #6846 for context on why cacheCompression is disabled
cacheCompression: false,
compact: isEnvProduction,
},
},
// Process any JS outside of the app with Babel.
// Unlike the application JS, we only compile the standard ES features.
{
test: /\.(js|mjs)$/,
exclude: /@babel(?:\/|\\{1,2})runtime/,
loader: require.resolve('babel-loader'),
options: {
babelrc: false,
configFile: false,
compact: false,
presets: [
[
require.resolve('babel-preset-react-app/dependencies'),
{ helpers: true },
],
],
cacheDirectory: true,
// See #6846 for context on why cacheCompression is disabled
cacheCompression: false,
// Babel sourcemaps are needed for debugging into node_modules
// code. Without the options below, debuggers like VSCode
// show incorrect code and set breakpoints on the wrong lines.
sourceMaps: shouldUseSourceMap,
inputSourceMap: shouldUseSourceMap,
},
},
// "postcss" loader applies autoprefixer to our CSS.
// "css" loader resolves paths in CSS and adds assets as dependencies.
// "style" loader turns CSS into JS modules that inject <style> tags.
// In production, we use MiniCSSExtractPlugin to extract that CSS
// to a file, but in development "style" loader enables hot editing
// of CSS.
// By default we support CSS Modules with the extension .module.css
{
test: cssRegex,
exclude: cssModuleRegex,
use: getStyleLoaders({
importLoaders: 1,
sourceMap: isEnvProduction
? shouldUseSourceMap
: isEnvDevelopment,
}),
// Don't consider CSS imports dead code even if the
// containing package claims to have no side effects.
// Remove this when webpack adds a warning or an error for this.
// See https://github.com/webpack/webpack/issues/6571
sideEffects: true,
},
// Adds support for CSS Modules (https://github.com/css-modules/css-modules)
// using the extension .module.css
{
test: cssModuleRegex,
use: getStyleLoaders({
importLoaders: 1,
sourceMap: isEnvProduction
? shouldUseSourceMap
: isEnvDevelopment,
modules: {
getLocalIdent: getCSSModuleLocalIdent,
},
}),
},
// Opt-in support for SASS (using .scss or .sass extensions).
// By default we support SASS Modules with the
// extensions .module.scss or .module.sass
{
test: sassRegex,
exclude: sassModuleRegex,
use: getStyleLoaders(
{
importLoaders: 3,
sourceMap: isEnvProduction
? shouldUseSourceMap
: isEnvDevelopment,
},
'sass-loader'
),
// Don't consider CSS imports dead code even if the
// containing package claims to have no side effects.
// Remove this when webpack adds a warning or an error for this.
// See https://github.com/webpack/webpack/issues/6571
sideEffects: true,
},
// Adds support for CSS Modules, but using SASS
// using the extension .module.scss or .module.sass
{
test: sassModuleRegex,
use: getStyleLoaders(
{
importLoaders: 3,
sourceMap: isEnvProduction
? shouldUseSourceMap
: isEnvDevelopment,
modules: {
getLocalIdent: getCSSModuleLocalIdent,
},
},
'sass-loader'
),
},
// "file" loader makes sure those assets get served by WebpackDevServer.
// When you `import` an asset, you get its (virtual) filename.
// In production, they would get copied to the `build` folder.
// This loader doesn't use a "test" so it will catch all modules
// that fall through the other loaders.
{
loader: require.resolve('file-loader'),
// Exclude `js` files to keep "css" loader working as it injects
// its runtime that would otherwise be processed through "file" loader.
// Also exclude `html` and `json` extensions so they get processed
// by webpacks internal loaders.
exclude: [/\.(js|mjs|jsx|ts|tsx)$/, /\.html$/, /\.json$/],
options: {
name: 'static/media/[name].[hash:8].[ext]',
},
},
// ** STOP ** Are you adding a new loader?
// Make sure to add the new loader(s) before the "file" loader.
],
},
],
},
plugins: [
// Generates an `index.html` file with the <script> injected.
new HtmlWebpackPlugin(
Object.assign(
{},
{
inject: true,
template: paths.appHtml,
},
isEnvProduction
? {
minify: {
removeComments: true,
collapseWhitespace: true,
removeRedundantAttributes: true,
useShortDoctype: true,
removeEmptyAttributes: true,
removeStyleLinkTypeAttributes: true,
keepClosingSlash: true,
minifyJS: true,
minifyCSS: true,
minifyURLs: true,
},
}
: undefined
)
),
// Inlines the webpack runtime script. This script is too small to warrant
// a network request.
// https://github.com/facebook/create-react-app/issues/5358
isEnvProduction &&
shouldInlineRuntimeChunk &&
new InlineChunkHtmlPlugin(HtmlWebpackPlugin, [/runtime-.+[.]js/]),
// Makes some environment variables available in index.html.
// The public URL is available as %PUBLIC_URL% in index.html, e.g.:
// <link rel="icon" href="%PUBLIC_URL%/favicon.ico">
// It will be an empty string unless you specify "homepage"
// in `package.json`, in which case it will be the pathname of that URL.
new InterpolateHtmlPlugin(HtmlWebpackPlugin, env.raw),
// This gives some necessary context to module not found errors, such as
// the requesting resource.
new ModuleNotFoundPlugin(paths.appPath),
// Makes some environment variables available to the JS code, for example:
// if (process.env.NODE_ENV === 'production') { ... }. See `./env.js`.
// It is absolutely essential that NODE_ENV is set to production
// during a production build.
// Otherwise React will be compiled in the very slow development mode.
new webpack.DefinePlugin(env.stringified),
// This is necessary to emit hot updates (CSS and Fast Refresh):
isEnvDevelopment && new webpack.HotModuleReplacementPlugin(),
// Experimental hot reloading for React .
// https://github.com/facebook/react/tree/master/packages/react-refresh
isEnvDevelopment &&
shouldUseReactRefresh &&
new ReactRefreshWebpackPlugin({
overlay: {
entry: webpackDevClientEntry,
// The expected exports are slightly different from what the overlay exports,
// so an interop is included here to enable feedback on module-level errors.
module: reactRefreshOverlayEntry,
// Since we ship a custom dev client and overlay integration,
// the bundled socket handling logic can be eliminated.
sockIntegration: false,
},
}),
// Watcher doesn't work well if you mistype casing in a path so we use
// a plugin that prints an error when you attempt to do this.
// See https://github.com/facebook/create-react-app/issues/240
isEnvDevelopment && new CaseSensitivePathsPlugin(),
// If you require a missing module and then `npm install` it, you still have
// to restart the development server for webpack to discover it. This plugin
// makes the discovery automatic so you don't have to restart.
// See https://github.com/facebook/create-react-app/issues/186
isEnvDevelopment &&
new WatchMissingNodeModulesPlugin(paths.appNodeModules),
isEnvProduction &&
new MiniCssExtractPlugin({
// Options similar to the same options in webpackOptions.output
// both options are optional
filename: 'static/css/[name].[contenthash:8].css',
chunkFilename: 'static/css/[name].[contenthash:8].chunk.css',
}),
// Generate an asset manifest file with the following content:
// - "files" key: Mapping of all asset filenames to their corresponding
// output file so that tools can pick it up without having to parse
// `index.html`
// - "entrypoints" key: Array of files which are included in `index.html`,
// can be used to reconstruct the HTML if necessary
new ManifestPlugin({
fileName: 'asset-manifest.json',
publicPath: paths.publicUrlOrPath,
generate: (seed, files, entrypoints) => {
const manifestFiles = files.reduce((manifest, file) => {
manifest[file.name] = file.path;
return manifest;
}, seed);
const entrypointFiles = entrypoints.main.filter(
fileName => !fileName.endsWith('.map')
);
return {
files: manifestFiles,
entrypoints: entrypointFiles,
};
},
}),
// Moment.js is an extremely popular library that bundles large locale files
// by default due to how webpack interprets its code. This is a practical
// solution that requires the user to opt into importing specific locales.
// https://github.com/jmblog/how-to-optimize-momentjs-with-webpack
// You can remove this if you don't use Moment.js:
new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/),
// Generate a service worker script that will precache, and keep up to date,
// the HTML & assets that are part of the webpack build.
isEnvProduction &&
fs.existsSync(swSrc) &&
new WorkboxWebpackPlugin.InjectManifest({
swSrc,
dontCacheBustURLsMatching: /\.[0-9a-f]{8}\./,
exclude: [/\.map$/, /asset-manifest\.json$/, /LICENSE/],
// Bump up the default maximum size (2mb) that's precached,
// to make lazy-loading failure scenarios less likely.
// See https://github.com/cra-template/pwa/issues/13#issuecomment-722667270
maximumFileSizeToCacheInBytes: 5 * 1024 * 1024,
}),
// TypeScript type checking
useTypeScript &&
new ForkTsCheckerWebpackPlugin({
typescript: resolve.sync('typescript', {
basedir: paths.appNodeModules,
}),
async: isEnvDevelopment,
checkSyntacticErrors: true,
resolveModuleNameModule: process.versions.pnp
? `${__dirname}/pnpTs.js`
: undefined,
resolveTypeReferenceDirectiveModule: process.versions.pnp
? `${__dirname}/pnpTs.js`
: undefined,
tsconfig: paths.appTsConfig,
reportFiles: [
// This one is specifically to match during CI tests,
// as micromatch doesn't match
// '../cra-template-typescript/template/src/App.tsx'
// otherwise.
'../**/src/**/*.{ts,tsx}',
'**/src/**/*.{ts,tsx}',
'!**/src/**/__tests__/**',
'!**/src/**/?(*.)(spec|test).*',
'!**/src/setupProxy.*',
'!**/src/setupTests.*',
],
silent: true,
// The formatter is invoked directly in WebpackDevServerUtils during development
formatter: isEnvProduction ? typescriptFormatter : undefined,
}),
!disableESLintPlugin &&
new ESLintPlugin({
// Plugin options
extensions: ['js', 'mjs', 'jsx', 'ts', 'tsx'],
formatter: require.resolve('react-dev-utils/eslintFormatter'),
eslintPath: require.resolve('eslint'),
failOnError: !(isEnvDevelopment && emitErrorsAsWarnings),
context: paths.appSrc,
cache: true,
cacheLocation: path.resolve(
paths.appNodeModules,
'.cache/.eslintcache'
),
// ESLint class options
cwd: paths.appPath,
resolvePluginsRelativeTo: __dirname,
baseConfig: {
extends: [require.resolve('eslint-config-react-app/base')],
rules: {
...(!hasJsxRuntime && {
'react/react-in-jsx-scope': 'error',
}),
},
},
}),
].filter(Boolean),
// Some libraries import Node modules but don't use them in the browser.
// Tell webpack to provide empty mocks for them so importing them works.
node: {
module: 'empty',
dgram: 'empty',
dns: 'mock',
fs: 'empty',
http2: 'empty',
net: 'empty',
tls: 'empty',
child_process: 'empty',
},
// Turn off performance processing because we utilize
// our own hints via the FileSizeReporter
performance: false,
};
};
@@ -0,0 +1,130 @@
const fs = require('fs');
const errorOverlayMiddleware = require('react-dev-utils/errorOverlayMiddleware');
const evalSourceMapMiddleware = require('react-dev-utils/evalSourceMapMiddleware');
const noopServiceWorkerMiddleware = require('react-dev-utils/noopServiceWorkerMiddleware');
const ignoredFiles = require('react-dev-utils/ignoredFiles');
const redirectServedPath = require('react-dev-utils/redirectServedPathMiddleware');
const paths = require('./paths');
const getHttpsConfig = require('./getHttpsConfig');
const host = process.env.HOST || '0.0.0.0';
const sockHost = process.env.WDS_SOCKET_HOST;
const sockPath = process.env.WDS_SOCKET_PATH; // default: '/sockjs-node'
const sockPort = process.env.WDS_SOCKET_PORT;
module.exports = function (proxy, allowedHost) {
return {
// WebpackDevServer 2.4.3 introduced a security fix that prevents remote
// websites from potentially accessing local content through DNS rebinding:
// https://github.com/webpack/webpack-dev-server/issues/887
// https://medium.com/webpack/webpack-dev-server-middleware-security-issues-1489d950874a
// However, it made several existing use cases such as development in cloud
// environment or subdomains in development significantly more complicated:
// https://github.com/facebook/create-react-app/issues/2271
// https://github.com/facebook/create-react-app/issues/2233
// While we're investigating better solutions, for now we will take a
// compromise. Since our WDS configuration only serves files in the `public`
// folder we won't consider accessing them a vulnerability. However, if you
// use the `proxy` feature, it gets more dangerous because it can expose
// remote code execution vulnerabilities in backends like Django and Rails.
// So we will disable the host check normally, but enable it if you have
// specified the `proxy` setting. Finally, we let you override it if you
// really know what you're doing with a special environment variable.
disableHostCheck:
!proxy || process.env.DANGEROUSLY_DISABLE_HOST_CHECK === 'true',
// Enable gzip compression of generated files.
compress: true,
// Silence WebpackDevServer's own logs since they're generally not useful.
// It will still show compile warnings and errors with this setting.
clientLogLevel: 'none',
// By default WebpackDevServer serves physical files from current directory
// in addition to all the virtual build products that it serves from memory.
// This is confusing because those files won’t automatically be available in
// production build folder unless we copy them. However, copying the whole
// project directory is dangerous because we may expose sensitive files.
// Instead, we establish a convention that only files in `public` directory
// get served. Our build script will copy `public` into the `build` folder.
// In `index.html`, you can get URL of `public` folder with %PUBLIC_URL%:
// <link rel="icon" href="%PUBLIC_URL%/favicon.ico">
// In JavaScript code, you can access it with `process.env.PUBLIC_URL`.
// Note that we only recommend to use `public` folder as an escape hatch
// for files like `favicon.ico`, `manifest.json`, and libraries that are
// for some reason broken when imported through webpack. If you just want to
// use an image, put it in `src` and `import` it from JavaScript instead.
contentBase: paths.appPublic,
contentBasePublicPath: paths.publicUrlOrPath,
// By default files from `contentBase` will not trigger a page reload.
watchContentBase: true,
// Enable hot reloading server. It will provide WDS_SOCKET_PATH endpoint
// for the WebpackDevServer client so it can learn when the files were
// updated. The WebpackDevServer client is included as an entry point
// in the webpack development configuration. Note that only changes
// to CSS are currently hot reloaded. JS changes will refresh the browser.
hot: true,
// Use 'ws' instead of 'sockjs-node' on server since we're using native
// websockets in `webpackHotDevClient`.
transportMode: 'ws',
// Prevent a WS client from getting injected as we're already including
// `webpackHotDevClient`.
injectClient: false,
// Enable custom sockjs pathname for websocket connection to hot reloading server.
// Enable custom sockjs hostname, pathname and port for websocket connection
// to hot reloading server.
sockHost,
sockPath,
sockPort,
// It is important to tell WebpackDevServer to use the same "publicPath" path as
// we specified in the webpack config. When homepage is '.', default to serving
// from the root.
// remove last slash so user can land on `/test` instead of `/test/`
publicPath: paths.publicUrlOrPath.slice(0, -1),
// WebpackDevServer is noisy by default so we emit custom message instead
// by listening to the compiler events with `compiler.hooks[...].tap` calls above.
quiet: true,
// Reportedly, this avoids CPU overload on some systems.
// https://github.com/facebook/create-react-app/issues/293
// src/node_modules is not ignored to support absolute imports
// https://github.com/facebook/create-react-app/issues/1065
watchOptions: {
ignored: ignoredFiles(paths.appSrc),
},
https: getHttpsConfig(),
host,
overlay: false,
historyApiFallback: {
// Paths with dots should still use the history fallback.
// See https://github.com/facebook/create-react-app/issues/387.
disableDotRule: true,
index: paths.publicUrlOrPath,
},
public: allowedHost,
// `proxy` is run between `before` and `after` `webpack-dev-server` hooks
proxy,
before(app, server) {
// Keep `evalSourceMapMiddleware` and `errorOverlayMiddleware`
// middlewares before `redirectServedPath` otherwise will not have any effect
// This lets us fetch source contents from webpack for the error overlay
app.use(evalSourceMapMiddleware(server));
// This lets us open files from the runtime error overlay.
app.use(errorOverlayMiddleware());
if (fs.existsSync(paths.proxySetup)) {
// This registers user provided middleware for proxy reasons
require(paths.proxySetup)(app);
}
},
after(app) {
// Redirect to `PUBLIC_URL` or `homepage` from `package.json` if url not match
app.use(redirectServedPath(paths.publicUrlOrPath));
// This service worker file is effectively a 'no-op' that will reset any
// previous service worker registered for the same host:port combination.
// We do this in development to avoid hitting the production cache if
// it used the same host and port.
// https://github.com/facebook/create-react-app/issues/2272#issuecomment-302832432
app.use(noopServiceWorkerMiddleware(paths.publicUrlOrPath));
},
};
};
Binary file not shown.
Binary file not shown.
+30
View File
@@ -0,0 +1,30 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>Superalgos Desktop</title>
<meta name="description" content="Free and Open Source Crypto Social Trading">
<link rel="icon" href="%PUBLIC_URL%/favicon.ico"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<link rel="manifest" href="%PUBLIC_URL%/manifest.json"/>
<script type="text/javascript">
function loadApp() {
// Prevent click-jacking
try {
if (window === window.top || window.chrome && chrome.app && chrome.app.window) {
document.documentElement.style.display = 'block'
} else {
top.location = self.location
}
} catch (e) {
console.error('CJ protection', e)
}
}
</script>
</head>
<body id="body" onload="loadApp()">
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
</body>
</html>
@@ -0,0 +1,25 @@
{
"short_name": "React App",
"name": "Create React App Sample",
"icons": [
{
"src": "favicon.ico",
"sizes": "64x64 32x32 24x24 16x16",
"type": "image/x-icon"
},
{
"src": "logo192.png",
"type": "image/png",
"sizes": "192x192"
},
{
"src": "logo512.png",
"type": "image/png",
"sizes": "512x512"
}
],
"start_url": ".",
"display": "standalone",
"theme_color": "#000000",
"background_color": "#ffffff"
}
+3
View File
@@ -0,0 +1,3 @@
# https://www.robotstxt.org/robotstxt.html
User-agent: *
Disallow:
+212
View File
@@ -0,0 +1,212 @@
// Do this as the first thing so that any code reading it knows the right env.
process.env.BABEL_ENV = 'production';
process.env.NODE_ENV = 'production';
// Makes the script crash on unhandled rejections instead of silently
// ignoring them. In the future, promise rejections that are not handled will
// terminate the Node.js process with a non-zero exit code.
process.on('unhandledRejection', err => {
throw err;
});
// Ensure environment variables are read.
require('../config/env');
const path = require('path');
const chalk = require('react-dev-utils/chalk');
const fs = require('fs-extra');
const bfj = require('bfj');
const webpack = require('webpack');
const configFactory = require('../config/webpack.config');
const paths = require('../config/paths');
const checkRequiredFiles = require('react-dev-utils/checkRequiredFiles');
const formatWebpackMessages = require('react-dev-utils/formatWebpackMessages');
const printHostingInstructions = require('react-dev-utils/printHostingInstructions');
const FileSizeReporter = require('react-dev-utils/FileSizeReporter');
const printBuildError = require('react-dev-utils/printBuildError');
const measureFileSizesBeforeBuild =
FileSizeReporter.measureFileSizesBeforeBuild;
const printFileSizesAfterBuild = FileSizeReporter.printFileSizesAfterBuild;
const useYarn = fs.existsSync(paths.yarnLockFile);
// These sizes are pretty large. We'll warn for bundles exceeding them.
const WARN_AFTER_BUNDLE_GZIP_SIZE = 512 * 1024;
const WARN_AFTER_CHUNK_GZIP_SIZE = 1024 * 1024;
const isInteractive = process.stdout.isTTY;
// Warn and crash if required files are missing
if (!checkRequiredFiles([paths.appHtml, paths.appIndexJs])) {
process.exit(1);
}
const argv = process.argv.slice(2);
const writeStatsJson = argv.indexOf('--stats') !== -1;
// Generate configuration
const config = configFactory('production');
// We require that you explicitly set browsers and do not fall back to
// browserslist defaults.
const { checkBrowsers } = require('react-dev-utils/browsersHelper');
checkBrowsers(paths.appPath, isInteractive)
.then(() => {
// First, read the current file sizes in build directory.
// This lets us display how much they changed later.
return measureFileSizesBeforeBuild(paths.appBuild);
})
.then(previousFileSizes => {
// Remove all content but keep the directory so that
// if you're in it, you don't end up in Trash
fs.emptyDirSync(paths.appBuild);
// Merge with the public folder
copyPublicFolder();
// Start the webpack build
return build(previousFileSizes);
})
.then(
({ stats, previousFileSizes, warnings }) => {
if (warnings.length) {
console.log(chalk.yellow('Compiled with warnings.\n'));
console.log(warnings.join('\n\n'));
console.log(
'\nSearch for the ' +
chalk.underline(chalk.yellow('keywords')) +
' to learn more about each warning.'
);
console.log(
'To ignore, add ' +
chalk.cyan('// eslint-disable-next-line') +
' to the line before.\n'
);
} else {
console.log(chalk.green('Compiled successfully.\n'));
}
console.log('File sizes after gzip:\n');
printFileSizesAfterBuild(
stats,
previousFileSizes,
paths.appBuild,
WARN_AFTER_BUNDLE_GZIP_SIZE,
WARN_AFTER_CHUNK_GZIP_SIZE
);
console.log();
const appPackage = require(paths.appPackageJson);
const publicUrl = paths.publicUrlOrPath;
const publicPath = config.output.publicPath;
const buildFolder = path.relative(process.cwd(), paths.appBuild);
printHostingInstructions(
appPackage,
publicUrl,
publicPath,
buildFolder,
useYarn
);
},
err => {
const tscCompileOnError = process.env.TSC_COMPILE_ON_ERROR === 'true';
if (tscCompileOnError) {
console.log(
chalk.yellow(
'Compiled with the following type errors (you may want to check these before deploying your app):\n'
)
);
printBuildError(err);
} else {
console.log(chalk.red('Failed to compile.\n'));
printBuildError(err);
process.exit(1);
}
}
)
.catch(err => {
if (err && err.message) {
console.log(err.message);
}
process.exit(1);
});
// Create the production build and print the deployment instructions.
function build(previousFileSizes) {
console.log('Creating an optimized production build...');
const compiler = webpack(config);
return new Promise((resolve, reject) => {
compiler.run((err, stats) => {
let messages;
if (err) {
if (!err.message) {
return reject(err);
}
let errMessage = err.message;
// Add additional information for postcss errors
if (Object.prototype.hasOwnProperty.call(err, 'postcssNode')) {
errMessage +=
'\nCompileError: Begins at CSS selector ' +
err['postcssNode'].selector;
}
messages = formatWebpackMessages({
errors: [errMessage],
warnings: [],
});
} else {
messages = formatWebpackMessages(
stats.toJson({ all: false, warnings: true, errors: true })
);
}
if (messages.errors.length) {
// Only keep the first error. Others are often indicative
// of the same problem, but confuse the reader with noise.
if (messages.errors.length > 1) {
messages.errors.length = 1;
}
return reject(new Error(messages.errors.join('\n\n')));
}
if (
process.env.CI &&
(typeof process.env.CI !== 'string' ||
process.env.CI.toLowerCase() !== 'false') &&
messages.warnings.length
) {
console.log(
chalk.yellow(
'\nTreating warnings as errors because process.env.CI = true.\n' +
'Most CI servers set it automatically.\n'
)
);
return reject(new Error(messages.warnings.join('\n\n')));
}
const resolveArgs = {
stats,
previousFileSizes,
warnings: messages.warnings,
};
if (writeStatsJson) {
return bfj
.write(paths.appBuild + '/bundle-stats.json', stats.toJson())
.then(() => resolve(resolveArgs))
.catch(error => reject(new Error(error)));
}
return resolve(resolveArgs);
});
});
}
function copyPublicFolder() {
fs.copySync(paths.appPublic, paths.appBuild, {
dereference: true,
filter: file => file !== paths.appHtml,
});
}
+162
View File
@@ -0,0 +1,162 @@
exports.start = (port) => {
// Do this as the first thing so that any code reading it knows the right env.
process.env.BABEL_ENV = 'development';
process.env.NODE_ENV = 'development';
// Makes the script crash on unhandled rejections instead of silently
// ignoring them. In the future, promise rejections that are not handled will
// terminate the Node.js process with a non-zero exit code.
process.on('unhandledRejection', err => {
throw err;
});
// Ensure environment variables are read.
require('../config/env');
const fs = require('fs');
const chalk = require('react-dev-utils/chalk');
const webpack = require('webpack');
const WebpackDevServer = require('webpack-dev-server');
const clearConsole = require('react-dev-utils/clearConsole');
const checkRequiredFiles = require('react-dev-utils/checkRequiredFiles');
const {
choosePort,
createCompiler,
prepareProxy,
prepareUrls,
} = require('react-dev-utils/WebpackDevServerUtils');
const openBrowser = require('react-dev-utils/openBrowser');
const semver = require('semver');
const paths = require('../config/paths');
const configFactory = require('../config/webpack.config');
const createDevServerConfig = require('../config/webpackDevServer.config');
const getClientEnvironment = require('../config/env');
const react = require(require.resolve('react', {paths: [paths.appPath]}));
const env = getClientEnvironment(paths.publicUrlOrPath.slice(0, -1));
const useYarn = fs.existsSync(paths.yarnLockFile);
const isInteractive = process.stdout.isTTY;
// Warn and crash if required files are missing
if (!checkRequiredFiles([paths.appHtml, paths.appIndexJs])) {
process.exit(1);
}
// Tools like Cloud9 rely on this.
const DEFAULT_PORT = port;
const HOST = '0.0.0.0';
if (process.env.HOST) {
console.log(
chalk.cyan(
`Attempting to bind to HOST environment variable: ${chalk.yellow(
chalk.bold(process.env.HOST)
)}`
)
);
console.log();
}
// We require that you explicitly set browsers and do not fall back to
// browserslist defaults.
const {checkBrowsers} = require('react-dev-utils/browsersHelper');
checkBrowsers(paths.appPath, isInteractive)
.then(() => {
// We attempt to use the default port but if it is busy, we offer the user to
// run on a different port. `choosePort()` Promise resolves to the next free port.
return choosePort(HOST, DEFAULT_PORT);
})
.then(port => {
if (port == null) {
// We have not found a port.
return;
}
const config = configFactory('development');
const protocol = process.env.HTTPS === 'true' ? 'https' : 'http';
const appName = require(paths.appPackageJson).name;
const useTypeScript = fs.existsSync(paths.appTsConfig);
const tscCompileOnError = process.env.TSC_COMPILE_ON_ERROR === 'true';
const urls = prepareUrls(
protocol,
HOST,
port,
paths.publicUrlOrPath.slice(0, -1)
);
const devSocket = {
warnings: warnings =>
devServer.sockWrite(devServer.sockets, 'warnings', warnings),
errors: errors =>
devServer.sockWrite(devServer.sockets, 'errors', errors),
};
// Create a webpack compiler that is configured with custom messages.
const compiler = createCompiler({
appName,
config,
devSocket,
urls,
useYarn,
useTypeScript,
tscCompileOnError,
webpack,
});
// Load proxy config
const proxySetting = require(paths.appPackageJson).proxy;
const proxyConfig = prepareProxy(
proxySetting,
paths.appPublic,
paths.publicUrlOrPath
);
// Serve webpack assets generated by the compiler over a web server.
const serverConfig = createDevServerConfig(
proxyConfig,
urls.lanUrlForConfig
);
const devServer = new WebpackDevServer(compiler, serverConfig);
// Launch WebpackDevServer.
devServer.listen(port, HOST, err => {
if (err) {
return console.log(err);
}
if (isInteractive) {
clearConsole();
}
if (env.raw.FAST_REFRESH && semver.lt(react.version, '16.10.0')) {
console.log(
chalk.yellow(
`Fast Refresh requires React 16.10 or higher. You are using React ${react.version}.`
)
);
}
console.log(chalk.cyan('Starting the development server...\n'));
openBrowser(urls.localUrlForBrowser);
});
['SIGINT', 'SIGTERM'].forEach(function (sig) {
process.on(sig, function () {
devServer.close();
process.exit();
});
});
if (process.env.CI !== 'true') {
// Gracefully exit when stdin ends
process.stdin.on('end', function () {
devServer.close();
process.exit();
});
}
})
.catch(err => {
if (err && err.message) {
console.log(err.message);
}
process.exit(1);
});
}
+53
View File
@@ -0,0 +1,53 @@
// Do this as the first thing so that any code reading it knows the right env.
process.env.BABEL_ENV = 'test';
process.env.NODE_ENV = 'test';
process.env.PUBLIC_URL = '';
// Makes the script crash on unhandled rejections instead of silently
// ignoring them. In the future, promise rejections that are not handled will
// terminate the Node.js process with a non-zero exit code.
process.on('unhandledRejection', err => {
throw err;
});
// Ensure environment variables are read.
require('../config/env');
const jest = require('jest');
const execSync = require('child_process').execSync;
let argv = process.argv.slice(2);
function isInGitRepository() {
try {
execSync('git rev-parse --is-inside-work-tree', { stdio: 'ignore' });
return true;
} catch (e) {
return false;
}
}
function isInMercurialRepository() {
try {
execSync('hg --cwd . root', { stdio: 'ignore' });
return true;
} catch (e) {
return false;
}
}
// Watch unless on CI or explicitly running all tests
if (
!process.env.CI &&
argv.indexOf('--watchAll') === -1 &&
argv.indexOf('--watchAll=false') === -1
) {
// https://github.com/facebook/create-react-app/issues/5210
const hasSourceControl = isInGitRepository() || isInMercurialRepository();
argv.push(hasSourceControl ? '--watch' : '--watchAll');
}
jest.run(argv);
+28
View File
@@ -0,0 +1,28 @@
const baseURL = 'http://localhost:33249'
const GET = 'GET'
const POST = 'POST'
const DELETE = 'DELETE'
const UPDATE = 'UPDATE'
function getProfiles(){
return call('/profiles', GET);
}
function getClientNode(){
return call('/ClientNode', GET);
}
function call(endpoint, method, body){
return new Promise(async(resolve, reject) => {
fetch(baseURL + endpoint, { method:method, body:body })
.then(response => resolve(response))
.catch(error => reject(error))
})
}
export {
getProfiles,
getClientNode
}
@@ -0,0 +1,31 @@
import React from 'react';
import {BrowserRouter, Route, Routes} from 'react-router-dom';
import App from './home/App';
import UserProfile from "./userProfile/UserProfile";
import NotFound from "./notFound/NotFound";
import Feed from "./feed/Feed";
import PostPlaceholder from "./postPlaceholder/PostPlaceholder";
const Root = () => {
return (
<BrowserRouter>
<Routes>
<Route path='/' element={<App/>}>
<Route path='' element={<Feed/>}/>
<Route path='Profile' element={<UserProfile/>}>
{/*<Route path=':profileId' element={<UserProfile/>}/>*/}
</Route>
<Route path='Post' element={<PostPlaceholder/>}/>
</Route>
<Route
path="*"
element={
<NotFound/>
}
/>
</Routes>
</BrowserRouter>)
}
export default Root;
@@ -0,0 +1,17 @@
.followButton {
margin: 0.5rem;
width: 3rem;
max-height: 1.5rem;
}
.userCard {
display: flex;
flex-direction: row;
align-items: center;
padding: 0.25rem 1rem;
}
.avatar {
height: 3rem;
width: 3rem;
}
@@ -0,0 +1,30 @@
import "./UserCard.css"
import React, {useEffect} from 'react';
import {Button, Card, CardContent, CardMedia, Typography} from "@mui/material";
import pic from "../../images/superalgos.png"
const UserCard = ({name, id,followCallback}) => {
useEffect(() => {
console.log(`created user with id ${id}`)
}, [id]);
return (
<Card className="userCard" variant="outlined">
<CardMedia className="avatar"
component="img"
image={pic}
alt="PP"
/>
<CardContent>
<Typography variant="body2">{name}</Typography>
</CardContent>
<Button className="followButton" size="small" disableElevation variant="outlined" onClick={followCallback}>
Follow
</Button>
</Card>
);
};
export default UserCard;
@@ -0,0 +1,4 @@
.showMore {
width: 100%;
text-align: center;
}
@@ -0,0 +1,23 @@
import './UsersSidebar.css';
import {Stack} from "@mui/material";
import SearchBox from "../searchBox/SearchBox";
import SuggestedUsers from "../suggestedUsers/SuggestedUsers";
const UsersSidebar = () => {
const showMoreCallback = () => console.log("clicked show more");
return (
<Stack direction="column"
justifyContent="flex-start"
alignItems="center"
spacing={2}
sx={{minWidth: "max-content"}}>
<SearchBox/>
<SuggestedUsers showMoreCallback={showMoreCallback}/>
</Stack>
);
}
export default UsersSidebar;
@@ -0,0 +1,11 @@
.feed {
width: 40rem;
height: 95vh;
overflow: auto;
-ms-overflow-style: none; /* Hide scrollbar for IE and Edge */
scrollbar-width: none; /* Hide scrollbar for Firefox */
}
.feed::-webkit-scrollbar { /* Hide scrollbar for Chrome, Safari and Opera */
display: none;
}
@@ -0,0 +1,14 @@
import './Feed.css';
import PostPlaceholder from "../postPlaceholder/PostPlaceholder";
import PostsFeed from "../postsFeed/PostsFeed";
const Feed = () => {
return (
<div className="feed">
<PostPlaceholder/>
<PostsFeed/>
</div>
);
}
export default Feed;
@@ -0,0 +1,7 @@
.app {
height: 100%;
}
.middleSection{
width: 40rem;
}
@@ -0,0 +1,27 @@
import './App.css';
import Sidebar from "../sidebar/Sidebar";
import UsersSidebar from "../UsersSidebar/UsersSidebar";
import {Stack} from "@mui/material";
import {Outlet} from "react-router-dom";
import {getProfiles} from '../../api/service'
function App() {
getProfiles().then( response => {
console.log(response)
});
return (
<div className="app">
<Stack className="app"
direction="row"
justifyContent="space-around">
<Sidebar/>
<Outlet className="middleSection"/>
<UsersSidebar/>
</Stack>
</div>
);
}
export default App;
@@ -0,0 +1,10 @@
/*noinspection CssInvalidPropertyValue*/
.logo {
display: inline-flex;
align-items: center;
height: 3rem;
width: 100%;
}
.icon {
margin: 0 0.5rem;
}
@@ -0,0 +1,17 @@
import './Logo.css';
import React from 'react';
import {Avatar, Stack} from "@mui/material";
import pic from "../../images/superalgos.png"
const Logo = props => {
/* TODO add on click redirect to / */
return (
<Stack direction="row" className="logo">
<Avatar className="icon" alt="SuperAlgos" src={pic}/>
<div>SuperAlgos</div>
</Stack>
);
};
export default Logo;
@@ -0,0 +1,10 @@
import React, {useEffect} from 'react';
import {useNavigate} from "react-router-dom";
const NotFound = () => {
let navigate = useNavigate();
useEffect(() => navigate("/"), [navigate])
return null;
};
export default NotFound;
@@ -0,0 +1,49 @@
.post {
min-width: 5rem; /* todo needs to set a minimum width, but overriding from parent*/
max-width: 100%;
min-height: 5rem; /* todo needs tbd. needed actually? */
max-height: 100%; /* todo need to be 8rem, but is collapsing without scroll. need fix*/
padding: 0.5rem;
}
.postAvatarContainer {
display: flex;
justify-content: center;
align-items: center;
width: 3rem;
height: 3rem;
}
.postBody {
max-width: 100%;
min-width: 1.5rem;
min-height: 1.5rem;
padding-left: 2.8rem;
overflow: auto;
}
.postUserName {
padding: 0.75rem;
justify-content: center;
align-items: center;
}
.postFooterContainer {
justify-content: flex-start;
display: flex;
width: 100%;
padding-top: 0.50rem;
padding-bottom: 0.50rem;
}
.postFooterLikeDislike {
justify-content: space-evenly;
display: flex;
width: 30%;
padding-left: 0.50rem;
}
.postFooterRepost {
justify-content: flex-end;
display: flex;
width: 65%;
}
@@ -0,0 +1,64 @@
import "./Post.css"
import React, {useState} from 'react';
import {Avatar, Card, IconButton, Stack, Typography} from "@mui/material";
import {Autorenew, ThumbDown, ThumbUp} from "@mui/icons-material";
import pic from "../../images/superalgos.png"
const Post = () => {
const userName = "User Name",
postBody = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.";
const [count, setCount] = useState(0); /* todo define one more for dislike button */
function onLikeButtonClick() { {/* todo console log print need a fix */}
console.log("Liked " + count + " times")
}
function onButtonClick(){ /* todo dislike button function necessary? */
console.log("Liked " + count + " times")
}
return (
<Card className="post">
<Stack direction="row">
<Stack className="postAvatarContainer">
<Avatar src={pic}/>
</Stack>
<Stack className="postUserName">
{userName}
</Stack>
</Stack>
<Stack className="postBody">
{postBody}
</Stack>
<Stack className="postFooterContainer" direction="row">
<Stack className="postFooterLikeDislike" direction="row">
<IconButton
onClick={() => setCount(count + 1)}
>
<ThumbUp/>
</IconButton><Typography>{count}</Typography>
<IconButton
onClick={() => {/* TODO remove unnecessary arrow function*/
onButtonClick()
}}
>
<ThumbDown/>
</IconButton>
</Stack>
<Stack className="postFooterRepost" direction="row">
<IconButton
onClick={() => {/* TODO remove unnecessary arrow function*/
onButtonClick()
}}
>
<Autorenew/>
</IconButton>
</Stack>
</Stack>
</Card>
);
};
export default Post;
@@ -0,0 +1,47 @@
.postPlaceholder {
width: 39rem;
padding: 0.5rem;
}
.postPlaceholderContainer {
min-width: 100%;
max-width: 100%;
}
.postPlaceholderInputBoxContainer {
}
.postPlaceholderAvatar {
display: flex;
justify-content: center;
align-items: center;
width: 3rem;
height: 3rem;
}
.postPlaceholderTextField {
width: 90%;
border: 5px;
}
.postPlaceholderInputBox {
width: auto;
padding: 0.5rem;
}
.postFeedAccountCircle {
}
.postPlaceholderButtonStyle {
padding: 0.75rem;
display: flex;
width: auto;
justify-content: flex-end;
}
.postPlaceholderButton {
height: 1.5rem;
width: 5rem;
}
@@ -0,0 +1,54 @@
import "./PostPlaceholder.css"
import React from 'react';
import {Avatar, Button, Card, Stack, TextField, Typography} from "@mui/material";
import pic from "../../images/superalgos.png"
const PostPlaceholder = () => {
function onButtonClick() {
console.log("Clicked Post button");
}
return (
<div className="postPlaceholder">
<h4>Posts</h4>
<div className="postPlaceholderContainer">
<Card>
<Stack
className="postPlaceholderInputBox"
direction="row"
justifyContent="flex-start"
alignItems="center"
spacing={1}
justify="flex-end">
<Stack className="postPlaceholderAvatar">
<Avatar src={pic}/>
</Stack>
<Stack className="postPlaceholderTextField">
<Typography gutterBottom variant="subtitle1" component="div">
<TextField
id="outlined-multiline-flexible"
label="what's happening?"
fullWidth
multiline
maxRows={6}
/>
</Typography>
</Stack>
</Stack>
<Stack className="postPlaceholderButtonStyle" direction="row">
<Button
onClick={() => { /* TODO remove unnecessary arrow function call*/
onButtonClick()
}}
className="postPlaceholderButton" variant="outlined">
Post
</Button>
</Stack>
</Card>
</div>
</div>
);
};
export default PostPlaceholder;
@@ -0,0 +1,5 @@
.postFeedContainer {
max-width: 39rem;
padding: 0.5rem ;
width: 100%;
}
@@ -0,0 +1,25 @@
import './PostsFeed.css';
import React from 'react';
import {Stack} from "@mui/material";
import Post from "../post/Post";
const PostsFeed = () => {
const postFeed = [1, 2, 3, 4, 5];
const posts = postFeed.map(
value => {
return <Post key={value} id={value} name={`user${value}`}/>
}
)
return (
<div className="postFeedContainer">
<Stack direction="column"
spacing={2}>
{posts}
</Stack>
</div>
);
};
export default PostsFeed;
@@ -0,0 +1,3 @@
.searchIcon {
margin: 1rem 0.5rem;
}
@@ -0,0 +1,16 @@
import React from 'react';
import {Box, TextField} from "@mui/material";
import {Search} from "@mui/icons-material";
const SearchBox = () => {
return (
<div>
<Box sx={{display: 'flex', alignItems: 'flex-end'}}>
<Search className="searchIcon"/>
<TextField id="users-search" label="Search" variant="standard" type="search"/>
</Box>
</div>
);
};
export default SearchBox;
@@ -0,0 +1,16 @@
import React from 'react';
import {Link} from "@mui/material";
const ShowMoreUsers = ({showMoreCallback}) => {
return (
<Link
component="button"
variant="body2"
onClick={showMoreCallback}>
Show more
</Link>
);
};
export default ShowMoreUsers;
@@ -0,0 +1,3 @@
.sidebar{
height: 100%;
}
@@ -0,0 +1,42 @@
import './Sidebar.css';
import {Divider, Stack} from "@mui/material";
import SidebarItem from "../sidebarItem/SidebarItem";
import Logo from "../logo/Logo";
import HomeIcon from '@mui/icons-material/Home';
import PostAddIcon from '@mui/icons-material/PostAdd';
import PersonIcon from '@mui/icons-material/Person';
const Sidebar = props => {
const menuOptions = [{name: "Home", icon: HomeIcon},
{name: "Profile", icon: PersonIcon},
{name: "Post", icon: PostAddIcon}
/*, "Explore", "Notifications", "Messages", "Bookmarks", "Lists", "More"*/]
const menuItems = menuOptions.map(option => {
return <SidebarItem key={option.name} Icon={option.icon} value={option.name}/>
})
return (
<div className="sidebar">
<Stack direction="column"
justifyContent="flex-start"
alignItems="center"
spacing={5}
sx={{minWidth: "max-content"}}>
<Logo/>
<Stack
direction="column"
justifyContent="space-between"
alignItems="center"
spacing={2}
divider={<Divider orientation="horizontal" flexItem/>}>
{menuItems}
</Stack>
</Stack>
</div>
);
}
export default Sidebar;
@@ -0,0 +1,21 @@
.sidebarItem {
/*TODO add on hover*/
/*TODO add breakpoints*/
width: 15vw;
}
.sidebarText {
/*TODO hide when too small*/
width: auto;
text-align: center;
}
.sidebarIcon {
width: auto;
padding: 0 1rem;
}
@@ -0,0 +1,22 @@
import './SidebarItem.css';
import {Stack} from "@mui/material";
import {useNavigate} from "react-router-dom";
const SidebarItem = ({value, Icon}) => {
let navigate = useNavigate();
const handleClick = () => {
navigate(`/${value}`)
}
return (
<div className="sidebarItem" onClick={handleClick}>
<Stack direction="row">
<Icon className="sidebarIcon"/>
<div className="sidebarText"> {value} </div>
</Stack>
</div>
);
}
export default SidebarItem;
Whitespace-only changes.
@@ -0,0 +1,32 @@
import "./SuggestedUsers.css"
import React, {useEffect} from 'react';
import UserCard from "../User/UserCard";
import ShowMoreUsers from "../showMoreUsers/ShowMoreUsers";
import {Stack} from "@mui/material";
const SuggestedUsers = ({showMoreCallback}) => {
const usersIds = [1, 2, 3, 4, 5];
const users = usersIds.map(value => {
let callBack = () => console.log(`Clicked follow on user${value}`);
return <UserCard key={value} id={value} name={`user${value}`} followCallback={callBack}/>
})
useEffect(() => {
console.log("SuggestedUsersConstructor called")
}, []);
return (
<Stack direction="column"
justifyContent="flex-start"
alignItems="center"
spacing={1}>
{users}
<ShowMoreUsers showMoreCallback={showMoreCallback}/>
</Stack>
);
};
export default SuggestedUsers;
@@ -0,0 +1,41 @@
.userSection {
margin-top: 50px;
}
.banner {
height: 10rem;
}
.profileAvatar {
height: 7rem !important;
width: 7rem !important;
border-radius: 50%;
}
.profilePicBG {
display: flex;
align-items: center;
justify-content: center;
background: none no-repeat scroll 0 0 #fff;
position: relative;
height: 8rem !important;
width: 8rem !important;
border-radius: 50%;
}
.profileCard {
margin-top: -50px;
display: flex;
flex-direction: row;
height: 8rem;
}
.profileSection {
width: 100%;
overflow: initial !important; /* TODO check this is needed */
height: 15rem;
}
.middleSection {
width: 39rem;
}
@@ -0,0 +1,28 @@
import "./UserProfile.css"
import React from 'react';
import UserProfileHeader from "../userProfileHeader/UserProfileHeader";
import {Stack} from "@mui/material";
import PostsFeed from "../postsFeed/PostsFeed";
const UserProfile = () => {
/*TODO finish this shit*/
let actualUser = 'Loui Molina';
return (
<Stack direction="column"
justifyContent="flex-start"
alignItems="center"
spacing={1}
className="middleSection">
<UserProfileHeader actualUser={actualUser}/>
<PostsFeed/>
</Stack>
);
};
export default UserProfile;
@@ -0,0 +1,30 @@
import React from 'react';
import {Card, CardContent, CardMedia, Typography} from "@mui/material";
import banner from "../../images/banner.jpg";
import pfp from "../../images/superalgos.png";
const UserProfileHeader = ({actualUser}) => {
return (
<Card className="profileSection">
<CardMedia className="banner"
component="img"
image={banner}
alt="PP"
/>
<div className="profileCard">
<div className="profilePicBG">
<CardMedia className="profileAvatar"
component="img"
image={pfp}
alt="ProfilePic"
/>
</div>
<CardContent className="userSection">
<Typography variant="h5">{actualUser}</Typography>
</CardContent>
</div>
</Card>
);
};
export default UserProfileHeader;
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

+13
View File
@@ -0,0 +1,13 @@
body {
margin: 2.5vh 5vw;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
height: 95vh !important;
}
#root {
height: inherit;
}
+17
View File
@@ -0,0 +1,17 @@
import './index.css';
import React from 'react';
import ReactDOM from 'react-dom';
import {Provider} from "react-redux";
import reducers from "./store";
import Root from "./components/Root";
ReactDOM.render(
<React.StrictMode>
<Provider store={reducers}>
<Root/>
</Provider>
</React.StrictMode>,
document.getElementById('root')
);
+309
View File
@@ -0,0 +1,309 @@
/* latin */
@font-face {
font-family: 'Saira';
font-style: normal;
font-weight: 300;
src: local('Saira Light'), local('Saira-Light'), url(Fonts/Saira.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
font-family: 'Saira Condensed';
font-style: normal;
font-weight: 300;
src: local('Saira Condensed Light'), local('SairaCondensed-Light'), url(Fonts/Saira-Condensed.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: segoeui;
src: url(Fonts/segoeui.woff) format('woff');
font-weight: normal;
font-style: normal;
}
.body{
overflow-y: hidden;
overflow-x: hidden;
}
.scroll-div {
position:absolute;
overflow-y: scroll;
overflow-x: hidden;
top:0px;
left:0px;
vertical-align: top;
height: 100%;
width: 100%;
color: #000;
border-color: blue;
background-color: transparent;
border-width: 0px;
}
.static-div {
position: fixed;
top:0px;
left:18%;
width: 100%;
height: 100%;
padding: 0;
margin: 0;
color: #000;
background:transparent;
border-width: 0px;
border-collapse: collapse;
}
.content-div {
position:relative;
vertical-align: top;
height: 100%;
width: 30%;
left: 31.2%;
color: #000;
border-color: blue;
background-color:transparent;
border-width: 1px;
}
.post-placeholder {
vertical-align: top;
height: 50px;
width: 100%;
color: #000;
border-color: blue;
background-color: transparent;
border-width: 0px;
}
.post-div {
vertical-align: top;
height: 300px;
width: 100%;
color: #000;
border-color: blue;
background-color: transparent;
border-width: 0px;
}
.new-post-div {
vertical-align: top;
height: 300px;
width: 100%;
color: #000;
border-color: blue;
background-color: transparent;
border-width: 0px;
}
.page-table {
top:0px;
left:18%;
width: 64%;
height: 100%;
padding: 0;
margin: 0;
color: #000;
background:transparent;
border-width: 0px;
border-collapse: collapse;
}
.left-column {
position:relative;
top:0px;
width: 20%;
height: 100%;
padding: 0;
margin: 0;
color: #000;
border-width: 0px;
}
.middle-column {
position:relative;
top:0px;
width: 50%;
height: 100%;
padding: 0;
margin: 0;
color: #000;
border-width: 0px;
}
.right-column {
position:relative;
top:0px;
left:0px;
width: 30%;
height: 100%;
padding: 0;
margin: 0;
color: #000;
border-width: 0px;
}
.left-table {
position:relative;
width: 100%;
height: 100%;
padding: 0;
margin: 0;
color: #000;
border-width: 0px;
border-collapse: collapse;
}
.logo-cell {
vertical-align: top;
width: 100%;
height: 70px;
padding: 0;
margin: 0;
color: #000;
border-width: 0px;
}
.menu-cell {
vertical-align: top;
width: 100%;
padding: 0;
margin: 0;
color: #000;
border-width: 0px;
}
.profile-cell {
vertical-align: bottom;
width: 100%;
height: 50px;
padding: 0;
margin: 0;
color: #000;
border-width: 0px;
}
.middle-table {
position:relative;
width: 100%;
height: 100%;
padding: 0;
margin: 0;
color: #000;
border-width: 0px;
border-collapse: collapse;
}
.content-title-cell {
vertical-align: top;
width: 100%;
height: 50px;
padding: 0;
margin: 0;
color: #000;
border-width: 0px;
background-color: #ffffff;
}
.content-cell {
vertical-align: top;
width: 100%;
padding: 0;
margin: 0;
color: #000;
border-width: 0px;
}
.right-table {
position:relative;
width: 100%;
height: 100%;
padding: 0;
margin: 0;
color: #000;
border-width: 0px;
border-collapse: collapse;
}
.search-cell {
vertical-align: top;
width: 100%;
height: 50px;
padding: 0;
margin: 0;
color: #000;
border-width: 0px;
}
.context-cell {
vertical-align: top;
width: 100%;
padding: 0;
margin: 0;
color: #000;
border-width: 0px;
background:transparent;
}
.menu-table {
position:relative;
width: 100%;
height: 65%;
padding: 0;
margin: 0;
color: #000;
border-width: 0px;
border-collapse: collapse;
}
.menu-item-cell {
vertical-align: top;
width: 100%;
height: 50px;
padding: 0;
margin: 0;
color: #000;
border-width: 0px;
}
.who-to-follow-table {
position:relative;
width: 100%;
height: 30%;
padding: 0;
margin: 0;
color: #000;
border-width: 0px;
border-collapse: collapse;
}
.profile-to-follow-table {
position:relative;
width: 100%;
height: 30%;
padding: 0;
margin: 0;
color: #000;
border-width: 0px;
border-collapse: collapse;
}
.profile-to-follow-span {
float: right;
}
.profile-to-follow-button {
float: right;
background-color: green;
}
.profile-to-unfollow-span {
float: right;
}
.profile-to-unfollow-button {
float: right;
background-color: red;
}
@@ -0,0 +1,13 @@
const reportWebVitals = onPerfEntry => {
if (onPerfEntry && onPerfEntry instanceof Function) {
import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {
getCLS(onPerfEntry);
getFID(onPerfEntry);
getFCP(onPerfEntry);
getLCP(onPerfEntry);
getTTFB(onPerfEntry);
});
}
};
export default reportWebVitals;
+9
View File
@@ -0,0 +1,9 @@
import { configureStore } from '@reduxjs/toolkit';
import ExampleReducer from './slices/Globals'
export default configureStore({
reducer:{
example: ExampleReducer
}
})
@@ -0,0 +1,27 @@
import {createSlice} from '@reduxjs/toolkit'
export const Globals = createSlice({
name: 'globals',
initialState: {
UI: {
projects: {},
schemas: {projectSchema: undefined},
environment: undefined,
clientNode: undefined,
webApp: undefined
},
SA: {projects: {}}
},
reducers: {
exampleAction: (state, action) => {
state.userName = action.payload;
},
},
})
// Action creators are generated for each case reducer function
export const {exampleAction} = Globals.actions
export default Globals.reducer
+17 -5
View File
@@ -10,7 +10,7 @@ exports.newDesktopRoot = function newDesktopRoot() {
return thisObject
async function run() {
async function run(debugSettings) {
/*
The DK object is accessible everywhere at the Superalgos Desktop App.
It provides access to all modules built for this App.
@@ -25,6 +25,10 @@ exports.newDesktopRoot = function newDesktopRoot() {
let ENVIRONMENT = require('./Environment.js');
let ENVIRONMENT_MODULE = ENVIRONMENT.newEnvironment()
global.env = ENVIRONMENT_MODULE
if (debugSettings !== undefined && debugSettings.DESKTOP_APP_SIGNING_ACCOUNT !== undefined) {
global.env.DESKTOP_APP_SIGNING_ACCOUNT = debugSettings.DESKTOP_APP_SIGNING_ACCOUNT
}
/*
First thing is to load the project schema file.
*/
@@ -54,13 +58,21 @@ exports.newDesktopRoot = function newDesktopRoot() {
/*
Setting up Secrets.
*/
SA.secrets = {
array: require('./My-Secrets/Secrets.json').secrets,
map: new Map()
try {
SA.secrets = {
array: require('./My-Secrets/Secrets.json').secrets,
map: new Map()
}
} catch (err) {
SA.secrets = {
array: [],
map: new Map()
}
}
for (let i = 0; i < SA.secrets.array.length; i++) {
let secret = SA.secrets.array[i]
SA.secrets.map.set (secret.signingAccountChildCodeName, secret)
SA.secrets.map.set(secret.nodeCodeName, secret)
}
run()
+86
View File
@@ -0,0 +1,86 @@
exports.newDesktopRoot = function newDesktopRoot() {
/*
This module represents the execution root of the Desktop App.
We use this module that is outside the Desktop folder to
load all node dependencies and get them ready to the actual App.
*/
let thisObject = {
run: run
}
return thisObject
async function run(debugSettings) {
/*
The DK object is accessible everywhere at the Superalgos Desktop App.
It provides access to all modules built for this App.
*/
global.DK = {}
/*
The SA object is accessible everywhere at the Superalgos Desktop App.
It provides access to all modules built for Superalgos in general.
*/
global.SA = {}
/* Load Environment Variables */
let ENVIRONMENT = require('./Environment.js');
let ENVIRONMENT_MODULE = ENVIRONMENT.newEnvironment()
global.env = ENVIRONMENT_MODULE
if (debugSettings !== undefined && debugSettings.DESKTOP_APP_SIGNING_ACCOUNT !== undefined) {
global.env.DESKTOP_APP_SIGNING_ACCOUNT = debugSettings.DESKTOP_APP_SIGNING_ACCOUNT
}
/*
First thing is to load the project schema file.
*/
global.PROJECTS_SCHEMA = require(global.env.PATH_TO_PROJECT_SCHEMA)
/*
Setting up the modules that will be available, defined at the Project Schema file.
*/
let MULTI_PROJECT = require('./MultiProject.js');
let MULTI_PROJECT_MODULE = MULTI_PROJECT.newMultiProject()
MULTI_PROJECT_MODULE.initialize(DK, 'DK')
MULTI_PROJECT_MODULE.initialize(SA, 'SA')
/*
Setting up external dependencies.
*/
SA.nodeModules = {
fs: require('fs'),
util: require('util'),
path: require('path'),
web3: require('web3'),
ws: require('ws'),
open: require('open'),
http: require('http'),
octokit: require("@octokit/rest"),
simpleGit: require('simple-git'),
nodeFetch: require('node-fetch')
}
/*
Setting up Secrets.
*/
try {
SA.secrets = {
array: require('./My-Secrets/Secrets.json').secrets,
map: new Map()
}
} catch (err) {
SA.secrets = {
array: [],
map: new Map()
}
}
for (let i = 0; i < SA.secrets.array.length; i++) {
let secret = SA.secrets.array[i]
SA.secrets.map.set(secret.nodeCodeName, secret)
}
run()
async function run() {
DK.app = require('./DesktopReact/DesktopApp.js').newDesktopApp()
await DK.app.run()
console.log('Superalgos Desktop App is Running!')
}
}
}
+1 -1
View File
@@ -3,7 +3,7 @@ WORKDIR /app
COPY . .
RUN apk add --no-cache --virtual .build-deps make g++ \
&& apk add --no-cache python3 \
&& if [ "$(uname -m)" = "x86_64" ]; then node setup noShortcuts tensorflow; else node setup noShortcuts; fi \
&& npm ci \
&& mkdir -p ./Platform/My-Data-Storage ./Platform/My-Log-Files ./Platform/My-Workspaces \
&& addgroup superalgos \
&& adduser --disabled-password --no-create-home --ingroup superalgos superalgos \
+8 -8
View File
@@ -16,9 +16,9 @@
## Introduction
This walkthrough is broken up into to parts: a quick-start guide to running [Superalgos](https://github.com/Superalgos/Superalgos) with Docker and a deeper, more theoretical dive into containers with the hopes of explaining some of the design decisions.
This walk through is broken up into to parts: a quick-start guide to running [Superalgos](https://github.com/Superalgos/Superalgos) with Docker and a deeper, more theoretical dive into containers with the hopes of explaining some of the design decisions.
[Superalgos](https://github.com/Superalgos/Superalgos), at its core, is a web application which also means it can be deployed inside a container like many other web applications. One of the leading platforms for operating containers is Docker. Docker can run on many different operatng systems and compute platforms. The containers provide an easy, fast, repeatable, and secure way to deploy and distribute applications. While it doesn't take much experience to run containers or Docker, there are some basics that any user should learn in order to use the technology effectively.
[Superalgos](https://github.com/Superalgos/Superalgos), at its core, is a web application which also means it can be deployed inside a container like many other web applications. One of the leading platforms for operating containers is Docker. Docker can run on many different operating systems and compute platforms. The containers provide an easy, fast, repeatable, and secure way to deploy and distribute applications. While it doesn't take much experience to run containers or Docker, there are some basics that any user should learn in order to use the technology effectively.
Before getting started, be aware that Docker is not the originally intended method of running the [Superalgos](https://github.com/Superalgos/Superalgos) application and as such there are some drawbacks to doing so. Namely, you won't be able contribute back to the project or configure your Governance profile. We'll discuss this more later. Therefore, you should only consider using the Docker container for production deployments.
@@ -55,7 +55,7 @@ Docker should automatically start after installation. If you don't see the whale
### Linux and BSD
On Linux and BSD systems, Docker can be installed using the prefered package manager. [Step by step instructions for many different distributions](https://docs.docker.com/engine/install/debian/) of Linux can be found in the official Docker Docs. Since [Superalgos](https://github.com/Superalgos/Superalgos) runs well on Raspberry Pi 4 single-board computers, I'm going to illustrate the commands necessary to run [Superalgos](https://github.com/Superalgos/Superalgos) on the Raspbian Linux distribution.
On Linux and BSD systems, Docker can be installed using the preferred package manager. [Step by step instructions for many different distributions](https://docs.docker.com/engine/install/debian/) of Linux can be found in the official Docker Docs. Since [Superalgos](https://github.com/Superalgos/Superalgos) runs well on Raspberry Pi 4 single-board computers, I'm going to illustrate the commands necessary to run [Superalgos](https://github.com/Superalgos/Superalgos) on the Raspbian Linux distribution.
```shell
# install the requirements
@@ -70,7 +70,7 @@ sudo apt-get install \
# add the gpg keys to verify the packages
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# confgure the official repository
# configure the official repository
echo \
"deb [arch=arm64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
@@ -84,7 +84,7 @@ Docker should automatically start when it is done installing. You can check its
## Running Superalgos
Now that we have Docker installed and running, we can run the container. The option `--rm` will remove the isntance of the container when it is exited.
Now that we have Docker installed and running, we can run the container. The option `--rm` will remove the instance of the container when it is exited.
```shell
docker run --rm ghcr.io/superalgos/superalgos:latest
@@ -147,7 +147,7 @@ Continue reading the [Docker Command Line documentation](https://docs.docker.com
### Using Docker-Compose
Docker-compose is a wrapper for the Docker API which makes it a little easier to maintain a declaritive configuration for an application instead of using the direct command line commands. There is a sample docker-compose configuration included in the [Superalgos](https://github.com/Superalgos/Superalgos) which you can as the basis for your own configuration.
Docker-compose is a wrapper for the Docker API which makes it a little easier to maintain a declarative configuration for an application instead of using the direct command line commands. There is a sample docker-compose configuration included in the [Superalgos](https://github.com/Superalgos/Superalgos) which you can as the basis for your own configuration.
Let's download the sample and edit it. If you don't use `vim`, change that command for your preferred editor.
@@ -236,10 +236,10 @@ Docker has many advantages which can aid in every step from development through
Docker maintains a list of [Dockerfile best practices](https://docs.docker.com/develop/develop-images/dockerfile_best-practices/) in their main documentation. These tips dictate many of the decisions around the Superalgos Dockerfile. Some of the tips that are used by [Superalgos](https://github.com/Superalgos/Superalgos) are listed below.
- Use `.dockerignore` to prevent unwanted data from entering the container. This keeps the container small but also enhances security to prevent secrets from leaking into a container by accident.
- Don't install unneccesary packages. In lieu of multi-stage builds, build caches and build dependencies are removed before finalizing the container. Only packages that are necessary for the execution of the application are installed. This is why `git` is not present.
- Don't install unnecessary packages. In lieu of multi-stage builds, build caches and build dependencies are removed before finalizing the container. Only packages that are necessary for the execution of the application are installed. This is why `git` is not present.
- Minimize the number of layers. Many `RUN` commands are combined into one using `&&` in order to reduce the number of layers.
- Sort multiline arguments. This mostly enhances readability and maintainability.
- Leverage build cache. When testing locally, several of the tips above help levarage the build cache and speed up build times.
- Leverage build cache. When testing locally, several of the tips above help leverage the build cache and speed up build times.
### Twelve Factor App
+12 -3
View File
@@ -9,14 +9,16 @@ exports.newEnvironment = function () {
let thisObject = {
DEMO_MODE: false,
DEMO_MODE_HOST: "super-super-uzzdd68dwm9w-22a320db4ede63aa.elb.us-east-2.amazonaws.com",
BASE_PATH: basePath,
WEB_SERVER_URL: 'localhost',
PLATFORM_WEB_SOCKETS_INTERFACE_PORT: 18041,
NETWORK_WEB_SOCKETS_INTERFACE_PORT: 18042,
DESKTOP_WEB_SOCKETS_INTERFACE_PORT: 18043,
NETWORK_WEB_SOCKETS_INTERFACE_PORT: 17041,
DESKTOP_WEB_SOCKETS_INTERFACE_PORT: 16041,
DESKTOP_WEB_SOCKETS_INTERFACE_HOST: 'localhost',
PLATFORM_HTTP_INTERFACE_PORT: 34248,
DESKTOP_HTTP_INTERFACE_PORT: 34249,
DESKTOP_HTTP_INTERFACE_PORT: 33248,
NETWORK_HTTP_INTERFACE_PORT: 31248,
PATH_TO_DATA_STORAGE: path.join(basePath, './Platform/My-Data-Storage'),
PATH_TO_PROJECTS: path.join(basePath, './Projects'),
PATH_TO_LOG_FILES: path.join(basePath, './Platform/My-Log-Files'),
@@ -26,12 +28,19 @@ exports.newEnvironment = function () {
PATH_TO_DESKTOP: './Desktop',
PATH_TO_DEFAULT_WORKSPACE: path.join(basePath, './Projects/Foundations/Plugins/Workspaces'),
PATH_TO_MY_WORKSPACES: path.join(basePath, './Platform/My-Workspaces'),
PATH_TO_SECRETS: path.join(basePath, './My-Secrets'),
PATH_TO_FONTS: path.join(basePath, './Platform/WebServer/Fonts'),
DESKTOP_APP_SIGNING_ACCOUNT: 'Social-Trading-Desktop-App-1',
DESKTOP_APP_MAX_OUTGOING_PEERS: 1,
TASK_SERVER_APP_MAX_OUTGOING_PEERS: 1,
TASK_SERVER_APP_MAX_OUTGOING_HEADS: 1,
MOBILE_APP_SIGNING_ACCOUNT: 'Social-Trading-Mobile-App-1',
SERVER_APP_SIGNING_ACCOUNT: 'Social-Trading-Server-App-1',
PLATFORM_APP_SIGNING_ACCOUNT: 'Algo-Traders-Platform-1',
P2P_NETWORK_NODE_SIGNING_ACCOUNT: 'P2P-Network-Node-1',
P2P_NETWORK_NODE_MAX_INCOMING_CLIENTS: 1,
P2P_NETWORK_NODE_MAX_INCOMING_PEERS: 0,
P2P_NETWORK_NODE_MAX_OUTGOING_PEERS: 0
}
if (process.env.DATA_PATH) {
+14 -14
View File
@@ -1,7 +1,7 @@
const path = require("path");
const fs = require("fs");
const { exec, execSync } = require("child_process");
const os = require("os");
const os = require("os");
// Get the name of the main directory
let cwd = __dirname;
@@ -21,7 +21,7 @@ if (os.platform() == "win32") {
// Place Shortcuts using powershell
for (let dir of shortcutPaths) {
let command = `$ws = New-Object -ComObject WScript.Shell; $s = $ws.CreateShortcut("${dir}"); $S.TargetPath = "${target}"; $S.IconLocation = "${icon}"; $S.Save()`;
exec( command,
{
shell: "powershell.exe",
@@ -52,12 +52,12 @@ if (os.platform() == "win32") {
let icon = path.join( __dirname,"..", "/Projects/Foundations/Icons/superalgos.png");
// Create .desktop shortcut file
fs.writeFileSync( `${name}.desktop`,
fs.writeFileSync( `${name}.desktop`,
`[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=${name}
Comment=Launch Shortcut for Superalgos
Comment=Launch Shortcut for Superalgos
Path=${__dirname}
Exec=gnome-terminal -e ${__dirname}/launch-linux-mac.sh
Terminal=true
@@ -87,20 +87,20 @@ if (os.platform() == "win32") {
});
} else {
console.log( "Automatic shortcut creation is not yet supported on your flavor of linux. If you would like to see this feature add, message @harrellbm on telegram or discord to ask how you can help!")
console.log( "Automatic shortcut creation is not yet supported on your flavor of linux. If you would like to see this feature add, message @harrellbm on telegram or discord to ask how you can help!")
}
// Mac Shortcuts
} else if (os.platform() == "darwin") {
const icon = path.join( __dirname,"/superalgos.ico");
const createShortcutCommand = `chmod +x ${name}.command & cp ${name}.command ~/Desktop/${name}.command`
const installFileIconcommand = `npm install fileicon`;
const installFileIconcommand = `npm install -g fileicon`;
const changeIconCommand = `./node_modules/fileicon/bin/fileicon set ~/Desktop/${name}.command ./Launch-Scripts/superalgos.ico`
const unInstallFileIconcommand = `npm uninstall fileicon`;
const unInstallFileIconcommand = `npm uninstall -g fileicon`;
try {
// Create .desktop shortcut file
fs.writeFileSync( `${name}.command`,
fs.writeFileSync( `${name}.command`,
`#!/bin/sh
cd ${__dirname}
cd ..
@@ -113,14 +113,14 @@ if (os.platform() == "win32") {
// Remove temporary .command file
fs.unlinkSync( `${name}.command` )
//Install fileicon utility
//Install fileicon utility
execSync(installFileIconcommand, {stdio: 'inherit', timeout: 30000});
//change Icon
execSync(changeIconCommand, {stdio: 'inherit', timeout: 30000});
//Un-Install fileicon utility
//Un-Install fileicon utility
execSync(unInstallFileIconcommand, {stdio: 'inherit', timeout: 30000});
} catch (error) {
console.log('');
@@ -135,4 +135,4 @@ if (os.platform() == "win32") {
// Misc Operating System
} else {
console.log("Automatic shortcut creation is not currently supported on your operating system. If you would like to see your operating system added please reachout on discord or telegram to let the devs know.")
}
}
+1 -1
View File
@@ -1,5 +1,5 @@
exports.newMultiProject = function () {
/* TODO add init method to DK*/
let thisObject = {
initialize: initialize
}
+64 -15
View File
@@ -1,28 +1,77 @@
exports.newNetworkNode = function newNetworkNode() {
let thisObject = {
userProfiles: undefined,
p2pNetwork: undefined,
p2pNetworkPeers: undefined,
p2pNetworkNode: undefined,
webSocketsInterface: undefined,
httpInterface: undefined,
socialGraphService: undefined,
storage: undefined,
run: run
}
NT.networkNode = thisObject
return thisObject
async function run() {
/*
Other Network Nodes and Client Apps will communicate with this Network Node via it's Websocket Interface.
*/
NT.webSocketsInterface = NT.projects.network.modules.webSocketsInterface.newNetworkModulesWebSocketsInterface()
NT.webSocketsInterface.initialize()
/*
The Social Graph Service is the first and for now, the only service this Network Node provides.
*/
thisObject.socialGraphService = NT.projects.socialTrading.modules.socialGraph.newNetworkModulesSocialGraph()
await thisObject.socialGraphService.initialize()
/*
The Sotrage deals with persisting the Social Graph.
*/
thisObject.storage = NT.projects.socialTrading.modules.storage.newSocialTradingModulesStorage()
thisObject.storage.initialize()
await setupNetwork()
await setupServices()
async function setupNetwork() {
/*
We set up ourselves as a Network Node.
*/
thisObject.p2pNetworkNode = SA.projects.network.modules.p2pNetworkNode.newNetworkModulesP2PNetworkNode()
await thisObject.p2pNetworkNode.initialize()
/*
We will read all user profiles plugins and get from there our network identity.
*/
thisObject.userProfiles = SA.projects.network.modules.userProfiles.newNetworkModulesUserProfiles()
await thisObject.userProfiles.initialize(global.env.P2P_NETWORK_NODE_SIGNING_ACCOUNT, thisObject.p2pNetworkNode)
/*
Let's discover who is at the p2p network.
*/
thisObject.p2pNetwork = SA.projects.network.modules.p2pNetwork.newNetworkModulesP2PNetwork()
await thisObject.p2pNetwork.initialize('Network Peer')
/*
Set up the connections to network nodes.
*/
thisObject.p2pNetworkPeers = SA.projects.network.modules.p2pNetworkPeers.newNetworkModulesP2PNetworkPeers()
await thisObject.p2pNetworkPeers.initialize(
'Network Peer',
thisObject.p2pNetworkNode,
thisObject.p2pNetwork,
global.env.P2P_NETWORK_NODE_MAX_OUTGOING_PEERS
)
}
async function setupServices() {
/*
The Social Graph Service is the first and for now, the only service this Network Node provides.
*/
thisObject.socialGraphService = NT.projects.socialTrading.modules.socialGraph.newNetworkModulesSocialGraph()
await thisObject.socialGraphService.initialize()
/*
The Storage deals with persisting the Social Graph.
*/
thisObject.storage = NT.projects.socialTrading.modules.storage.newSocialTradingModulesStorage()
thisObject.storage.initialize()
/*
Other Network Nodes and Client Apps will communicate with this Network Node via it's Websocket Interface.
*/
thisObject.webSocketsInterface = NT.projects.network.modules.webSocketsInterface.newNetworkModulesWebSocketsInterface()
thisObject.webSocketsInterface.initialize()
console.log('Network Node Web Sockets Interface ........................................... Listening at port ' + JSON.parse(NT.networkNode.p2pNetworkNode.node.config).webSocketsPort)
/*
Other Network Nodes and Client Apps will communicate with this Network Node via it's HTTP Interface.
*/
thisObject.httpInterface = NT.projects.network.modules.httpInterface.newNetworkModulesHttpInterface()
thisObject.httpInterface.initialize()
console.log('Network Node Http Interface .................................................. Listening at port ' + JSON.parse(NT.networkNode.p2pNetworkNode.node.config).webPort)
}
}
}
+18 -5
View File
@@ -10,7 +10,7 @@ exports.newNetworkRoot = function newNetworkRoot() {
return thisObject
async function run() {
async function run(debugSettings) {
/*
The NT object is accessible everywhere at the Superalgos Network.
It provides access to all modules built for this Network.
@@ -25,6 +25,10 @@ exports.newNetworkRoot = function newNetworkRoot() {
let ENVIRONMENT = require('./Environment.js');
let ENVIRONMENT_MODULE = ENVIRONMENT.newEnvironment()
global.env = ENVIRONMENT_MODULE
if (debugSettings !== undefined && debugSettings.P2P_NETWORK_NODE_SIGNING_ACCOUNT !== undefined) {
global.env.P2P_NETWORK_NODE_SIGNING_ACCOUNT = debugSettings.P2P_NETWORK_NODE_SIGNING_ACCOUNT
}
/*
First thing is to load the project schema file.
*/
@@ -43,6 +47,7 @@ exports.newNetworkRoot = function newNetworkRoot() {
fs: require('fs'),
path: require('path'),
util: require('util'),
http: require('http'),
nodeFetch: require('node-fetch'),
web3: require('web3'),
ws: require('ws'),
@@ -51,13 +56,21 @@ exports.newNetworkRoot = function newNetworkRoot() {
/*
Setting up Secrets.
*/
SA.secrets = {
array: require('./My-Secrets/Secrets.json').secrets,
map: new Map()
try {
SA.secrets = {
array: require('./My-Secrets/Secrets.json').secrets,
map: new Map()
}
} catch (err) {
SA.secrets = {
array: [],
map: new Map()
}
}
for (let i = 0; i < SA.secrets.array.length; i++) {
let secret = SA.secrets.array[i]
SA.secrets.map.set(secret.signingAccountChildCodeName, secret)
SA.secrets.map.set(secret.nodeCodeName, secret)
}
NT.app = require('./Network/NetwokNode.js').newNetworkNode()
+105
View File
@@ -0,0 +1,105 @@
----- Changes made outside of /Projects/Portfolio-Management/ -----
Projects/ProjectsSchema.json:
cp Algorithmic-Trading Portfolio-Management - Some stuff definitely unneded here
Projects/Community-Plugins/UI/Function-Libraries/
ActionSwitch.js:
cp case 'Add Missing Plugin Trading Mines' case 'Add Missing Plugin Portfolio Mines'
cp case 'Add Missing Plugin Trading Systems' case 'Add Missing Plugin Portfolio Systems'
cp case 'Add Missing Plugin Trading Engines' case 'Add Missing Plugin Portfolio Engines'
PluginsFunctions.js:
cp addMissingPluginTradingMines addMissingPluginPortfolioMines
cp addMissingPluginTradingSystems addMissingPluginPortfolioSystems
cp addMissingPluginTradingEngines addMissingPluginPortfolioEngines
../Utilities/Plugins.js:
function getPluginFolderNamesByNodeType(nodeType):
add case 'Portfolio Engine'
add case 'Portfolio Mine'
add case 'Portfolio System'
Projects/Data-Mining/UI/Function-Libraries/
MineFunctions.js:
cp scanBotArray(dataMine.tradingBots) scanBotArray(dataMine.portfolioBots)
Skipping:
Projects/Foundations/TS/Function-Libraries/OutputManagementFunctions.js:
tradingProcessDate, VARS...INDEX_MAP->TRADING_PROCESSING_DAILY_FILES, ...
Projects/Foundations/TS/Function-Libraries/
SingleMarketFunctions.js:
cp findNodeInNodeMesh(outputDatasetNode, 'Trading Bot') ...'Portfolio Bot')
Line 117 if...else add portfolioMineNode
Projects/Foundations/TS/Process-Modules/
Dataset.js:
cp startingNode.type === 'Market Trading Products'
ProcessOutput.js:
cp line 27-29, 124-126
StatusReport.js:
Lines 102, 116, cp 172-222 dealing with finding process definitions the report depends on has been cloned from Trading -> Portfolio
Projects/Foundations/UI/Function-Libraries/
ActionSwitch.js:
cp case statements run-all, stop-all, add-missing, references, products, etc.
Line 506 && 512 may not need to have been cloned but I did for now - regarding live and paper trading.
ChartingSpaceFunctions.js: Needs Completion to include Portfolio at Charting Space.
'Market Trading|Portfolio Tasks' -> 'nodeType' as param. <= If error arises note that it was not configured this way by Luis when adding the Learning Mine. This is a File that could be heavily re-factored && optimized.
ProductFunctions.js:
Skipping:
Projects/Foundations/UI/Function-Libraries/ChartingSpaceFunctions.js: Needs Completion
Projects/Foundations/UI/Function-Libraries/CryptoEcosystemFunctions.js
Projects/Foundations/UI/Function-Libraries/
DataStorageFunctions.js:
Many things cloned. But on line 156 only did 'addMissingSession(livePortfolioSessionArray) not back|forward|paper
TaskFunctions.js:
run/stop | addMissing - Portfolio Tasks. Project|Exchange|Market|Mine
Line 148 - Only cloned 'Live Portfolio Session->'
Line 198 - Only cloned 'Production Portfolio Tasks->'
Skipping:
Projects/Foundations/UI/Function-Libraries/DependenciesFilter.js:
Appears 'tradingSystem' var here is just a parameter so no need change.
Projects/Foundations/UI/Spaces/
/Charting-Space/PlottersManager.js:
/Plotting/RecordValues.js:
/Design-Space/Workspace.js:
/Floating-Space/FloatingSpace.js:
/Panel-Space/Layer.js: Line 173 Only 'Live Portfolio Session'
Projects/Visual-Scripting/UI/Function-Libraries/
<<<<<<< Updated upstream
ActionsSwitch.js: *** NOTE: Not sure how to handle line 14 at the current moment. ***
UiObjectsFromNodes.js: only if(uiObjectType === 'Live Portfolio Session')
=======
ActionsSwitch.js:
NodePath.js*** NOTE: Not sure how to handle line 14 at the current moment. ***
UIObjectsFromNodes.js: Line 977 'Live Portfolio Session' only.
>>>>>>> Stashed changes
Skipping:
Projects/Foundations/UI/Spaces/Floating-Space/ConditionEditor.js
Skipping:
Projects/Governance/UI/Function-Libraries/ActionSwitch.js:
Projects/Machine-Learning/TS/Bot-Modules/Learning-Bot/LearningSession.js:
Projects/Machine-Learning/TS/Bot-Modules/Learning-Bot/Low-Frequency-Learning/LearningOutput.js:
Projects/Machine-Learning/*
Projects/Network/*
node_modules, */My-Workspaces, */My-Log-Files, *.json, .gitignore, desktop.js, Environment.js, README.md, run.js, setup.js, Tested-Exchanges, CODEOWNERS, DesktopApp.js, WebApp.js, Projects/Social-Bots/*, Projects/Social-Trading/*, Projects/Governance/*
----- Changes made inside Portfolio-Management (Clone of Algorithmic-Trading) -----
References to trading changed to portfolio regardless of capitalization:
Examples:
find ./ -type f -exec sed -i 's/trading/portfolio/g' {} \;
find ./ -type f -exec sed -i 's/Trading/Portfolio/g' {} \;
find ./ -type f -exec sed -i 's/TRADING/PORTFOLIO/g' {} \;
+17
View File
@@ -0,0 +1,17 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"skipFiles": [
"<node_internals>/**"
],
"program": "${workspaceFolder}\\..\\PlatformRoot.js"
}
]
}
+26
View File
@@ -0,0 +1,26 @@
{
"files.exclude": {
"**/Data-Storage": true,
"**/Log-Files": true,
"**/node_modules": true,
"**/My-Social-Trading-Data": true,
"**/My-Network-Nodes-Data": true,
"**/My-Workspaces": true,
"**/My-Secrets": true,
"**/My-Data-Storage": true,
"**/My-Log-Files": true,
},
"search.exclude": {
"**/Data-Storage": true,
"**/Log-Files": true,
"**/node_modules": true,
"**/My-Social-Trading-Data": true,
"**/My-Network-Nodes-Data": true,
"**/My-Workspaces": true,
"**/My-Secrets": true,
"**/My-Data-Storage": true,
"**/My-Log-Files": true,
},
"search.maintainFileSearchCache": true,
"editor.mouseWheelZoom": true
}
+73 -10
View File
@@ -4,6 +4,7 @@ exports.newGithubServer = function newGithubServer() {
getGithubStars: getGithubStars,
getGithubWatchers: getGithubWatchers,
getGithubForks: getGithubForks,
createGithubFork: createGithubFork,
mergePullRequests: mergePullRequests,
initialize: initialize,
finalize: finalize,
@@ -79,7 +80,7 @@ exports.newGithubServer = function newGithubServer() {
const octokit = new Octokit({
auth: token,
userAgent: 'Superalgos Beta 12'
userAgent: 'Superalgos ' + SA.version
})
await getList()
@@ -162,6 +163,46 @@ exports.newGithubServer = function newGithubServer() {
}
}
async function createGithubFork(token) {
try {
token = unescape(token)
await doGithub()
async function doGithub() {
try {
const { Octokit } = SA.nodeModules.octokit
const octokit = new Octokit({
auth: token,
userAgent: 'Superalgos ' + SA.version
})
await octokit.repos.createFork({
owner: 'Superalgos',
repo: 'Superalgos'
})
} catch (err) {
if (err === undefined) { return }
console.log('[ERROR] Github Server -> createGithubFork -> doGithub -> err.stack = ' + err.stack)
}
}
} catch (err) {
console.log('[ERROR] Github Server -> createGithubFork -> Method call produced an error.')
console.log('[ERROR] Github Server -> createGithubFork -> err.stack = ' + err.stack)
console.log('[ERROR] Github Server -> createGithubFork -> repository = ' + repository)
console.log('[ERROR] Github Server -> createGithubFork -> username = ' + username)
console.log('[ERROR] Github Server -> createGithubFork -> token starts with = ' + token.substring(0, 10) + '...')
console.log('[ERROR] Github Server -> createGithubFork -> token ends with = ' + '...' + token.substring(token.length - 10))
let error = {
result: 'Fail Because',
message: err.message,
stack: err.stack
}
return error
}
}
async function mergeGithubPullRequests(commitMessage, username, token) {
try {
commitMessage = unescape(commitMessage)
@@ -169,7 +210,7 @@ exports.newGithubServer = function newGithubServer() {
token = unescape(token)
const repository = 'Superalgos'
/* Unsavping # */
/* Unsaving # */
for (let i = 0; i < 10; i++) {
commitMessage = commitMessage.replace('_SLASH_', '/')
commitMessage = commitMessage.replace('_HASHTAG_', '#')
@@ -207,7 +248,7 @@ exports.newGithubServer = function newGithubServer() {
const { Octokit } = SA.nodeModules.octokit
const octokit = new Octokit({
auth: token,
userAgent: 'Superalgos Beta 12'
userAgent: 'Superalgos ' + SA.version
})
await getPrList()
await mergePrs()
@@ -284,13 +325,30 @@ exports.newGithubServer = function newGithubServer() {
/*
Lets get the files changed at this Pull Request.
*/
await PL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
let listResponse = await octokit.rest.pulls.listFiles({
owner: owner,
repo: repo,
pull_number: pullRequest.number
});
let filesChanged = listResponse.data
let filesChanged = []
const per_page = 100 // Max
let page = 0
let lastPage = false
while (lastPage === false) {
page++
await PL.projects.foundations.utilities.asyncFunctions.sleep(GITHUB_API_WAITING_TIME)
let listResponse = await octokit.rest.pulls.listFiles({
owner: owner,
repo: repo,
pull_number: pullRequest.number,
per_page: per_page,
page: page
});
if (listResponse.data.length < 100) {
lastPage = true
}
for (let i = 0; i < listResponse.data.length; i++) {
let listItem = listResponse.data[i]
filesChanged.push(listItem)
}
}
let fileContentUrl // URL to the only file at the PR
let fileContent // File content of the only file at the PR
let userProfile // User Profile Object
@@ -307,6 +365,11 @@ exports.newGithubServer = function newGithubServer() {
if (await validateUserProfileBlockchainAccountDoesNotBelongtoAnotherUserProfile() === false) { continue }
if (await validateUserProfileSigningAccountsDoesNotBelongtoAnotherUserProfile() === false) { continue }
/*
TODO: We need to check before merging a User Profile that none of id of the node of the profile hierarchy exists at any other
User Profile already at the repository, to avoid attacks of users hijacking references of other user profiles.
*/
if (await mergePullRequest() === false) {
console.log('[WARN] Github Server -> mergeGithubPullRequests -> Merge Failed -> Pull Request "' + pullRequest.title + '" not merged because Github could not merge it. -> mergeResponse.message = ' + mergeResponse.data.message)
} else {
File diff suppressed because it is too large. Load diff
+3 -3
View File
@@ -65,7 +65,7 @@
let path = global.env.BASE_PATH + '/TaskServerRoot.js'
/* Workarround to avoid having the same debug port at the forked process which makes it crash. */
/* Workaround to avoid having the same debug port at the forked process which makes it crash. */
for (let i = 0; i < process.execArgv.length; i++) {
let argument = process.execArgv[i]
if (argument.indexOf('--inspect') > -1) {
@@ -94,7 +94,7 @@
console.log(`[ERROR] Client -> Task Manager Server -> runTask -> Task Server exited with error ${err}`)
tasksMap.delete(task.id)
})
/* If the Tast Server stops, we remove it from our task map */
/* If the Task Server stops, we remove it from our task map */
task.childProcess.on('close', (code, signal) => {
//console.log('[INFO] Client -> Task Manager Server -> runTask -> Task Terminated. -> Task Name = ' + task.name)
//console.log('[INFO] Client -> Task Manager Server -> runTask -> Task Terminated. -> Task Id = ' + task.id)
@@ -190,7 +190,7 @@
function finalize() {
/* Before disconnecting we will forze all eventListeners to stop listening. */
/* Before disconnecting we will force all eventListeners to stop listening. */
const eventListenersArray = [...eventListeners.values()]
for (let i = 0; i < eventListenersArray.length; i++) {
let handler = eventListenersArray[i]
+29 -3
View File
@@ -5,6 +5,7 @@ exports.newWeb3Server = function newWeb3Server() {
let thisObject = {
getNetworkClientStatus: getNetworkClientStatus,
createWalletAccount: createWalletAccount,
getUserWalletBalance: getUserWalletBalance,
getWalletBalances: getWalletBalances,
signData: signData,
hashData: hashData,
@@ -82,6 +83,31 @@ exports.newWeb3Server = function newWeb3Server() {
}
}
async function getUserWalletBalance(walletAddress, contractAddress) {
const bscUri = 'https://bsc-dataseed.binance.org/'
const web3 = new Web3(bscUri)
let balance
let ABI = [{ "constant": true, "inputs": [], "name": "name", "outputs": [{ "name": "", "type": "string" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [{ "name": "_spender", "type": "address" }, { "name": "_value", "type": "uint256" }], "name": "approve", "outputs": [{ "name": "", "type": "bool" }], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "totalSupply", "outputs": [{ "name": "", "type": "uint256" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [{ "name": "_from", "type": "address" }, { "name": "_to", "type": "address" }, { "name": "_value", "type": "uint256" }], "name": "transferFrom", "outputs": [{ "name": "", "type": "bool" }], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "decimals", "outputs": [{ "name": "", "type": "uint256" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "unpause", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [{ "name": "account", "type": "address" }, { "name": "amount", "type": "uint256" }], "name": "mint", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [{ "name": "_value", "type": "uint256" }], "name": "burn", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "paused", "outputs": [{ "name": "", "type": "bool" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [{ "name": "_spender", "type": "address" }, { "name": "_subtractedValue", "type": "uint256" }], "name": "decreaseApproval", "outputs": [{ "name": "success", "type": "bool" }], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [{ "name": "_owner", "type": "address" }], "name": "balanceOf", "outputs": [{ "name": "balance", "type": "uint256" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [{ "name": "listAddress", "type": "address" }, { "name": "isBlackListed", "type": "bool" }], "name": "blackListAddress", "outputs": [{ "name": "success", "type": "bool" }], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [], "name": "pause", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "owner", "outputs": [{ "name": "", "type": "address" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "symbol", "outputs": [{ "name": "", "type": "string" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [{ "name": "_to", "type": "address" }, { "name": "_value", "type": "uint256" }], "name": "transfer", "outputs": [{ "name": "", "type": "bool" }], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [{ "name": "_spender", "type": "address" }, { "name": "_addedValue", "type": "uint256" }], "name": "increaseApproval", "outputs": [{ "name": "success", "type": "bool" }], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [{ "name": "_owner", "type": "address" }, { "name": "_spender", "type": "address" }], "name": "allowance", "outputs": [{ "name": "", "type": "uint256" }], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [{ "name": "newOwner", "type": "address" }], "name": "transferOwnership", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "inputs": [{ "name": "_name", "type": "string" }, { "name": "_symbol", "type": "string" }, { "name": "_decimals", "type": "uint256" }, { "name": "_supply", "type": "uint256" }, { "name": "tokenOwner", "type": "address" }], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [{ "indexed": true, "name": "from", "type": "address" }, { "indexed": true, "name": "to", "type": "address" }, { "indexed": false, "name": "value", "type": "uint256" }], "name": "Mint", "type": "event" }, { "anonymous": false, "inputs": [{ "indexed": true, "name": "burner", "type": "address" }, { "indexed": false, "name": "value", "type": "uint256" }], "name": "Burn", "type": "event" }, { "anonymous": false, "inputs": [], "name": "Pause", "type": "event" }, { "anonymous": false, "inputs": [], "name": "Unpause", "type": "event" }, { "anonymous": false, "inputs": [{ "indexed": true, "name": "previousOwner", "type": "address" }, { "indexed": true, "name": "newOwner", "tLine truncated
const contractInst = new web3.eth.Contract(ABI, contractAddress)
async function getBalance() {
balance = await contractInst.methods.balanceOf(walletAddress).call().then(result => web3.utils.fromWei(result, 'ether'))
return balance
}
await getBalance()
return {
walletAddress: walletAddress,
balance: balance,
result: 'Ok'
}
}
async function getWalletBalances(host, port, interface, walletDefinition) {
let key = 'host (' + host + ') at port (' + port + ') via interface (' + interface + ')'
@@ -303,7 +329,7 @@ exports.newWeb3Server = function newWeb3Server() {
async function sendTokens(number, userProfile, fromAddress, toAddress, tokenAmount) {
try {
tokenAmount = Math.trunc(tokenAmount / 1000000000000000000)
console.log('')
@@ -361,12 +387,12 @@ exports.newWeb3Server = function newWeb3Server() {
console.log('Transaction:', rawTransaction)
let result
result = await web3.eth.sendSignedTransaction('0x' + transaction.serialize().toString('hex'))
.catch(err => {
console.log('[ERROR] sendSignedTransaction -> err =' + JSON.stringify(err))
})
console.log('Result:', result)
return result
} catch (err) {
+1 -1
View File
@@ -41,7 +41,7 @@
try {
if (global.env.DEMO_MODE === true) {
/*
In DEMO MODE we will accept Task / Sessioins Running or Stopping if you are requesting this from localhost only.
In DEMO MODE we will accept Task / Sessions Running or Stopping if you are requesting this from localhost only.
*/
if (socket._socket.remoteAddress !== "::1") {
if (
+3 -3
View File
@@ -20,7 +20,7 @@ exports.newPlatformApp = function newPlatformApp() {
})
process.on('unhandledRejection', (reason, p) => {
// Signal user that a necissary node module is missing
// Signal user that a necessary node module is missing
if (reason.code == 'MODULE_NOT_FOUND') {
console.log("[ERROR] Dependency library not found. Please try running the 'node setup' command and then restart the Superalgos Platform Client.")
console.log('[ERROR] Platform App -> reason = ' + JSON.stringify(reason))
@@ -142,7 +142,7 @@ exports.newPlatformApp = function newPlatformApp() {
console.log('Http Interface .............................................. Listening at port ' + global.env.PLATFORM_HTTP_INTERFACE_PORT)
console.log('')
console.log("You are running Superalgos Beta 12")
console.log("You are running Superalgos Platform " + SA.version)
console.log('')
console.log("What's new? These are the main new features in this version:")
console.log('')
@@ -154,7 +154,7 @@ exports.newPlatformApp = function newPlatformApp() {
console.log('Superalgos P2P Network ...................................... Will allow algo-traders to share trading signals with Superalgos users consuming these signals via a mobile app.')
console.log('Real-time Trading Signals ................................... Will allow users to emit trading signals and be rewarded with SA Tokens.')
console.log('Superalgos Mobile ........................................... Will allow users to consume trading signals for free and autonomously execute trades from their mobile phones.')
console.log('Ethereum Integration ........................................ Will allow mining data from an Ethereum network node, and bring it into the Superalgos workflow. [Looking for an Ethereum dev that would like to continue this line of development.]')
console.log('Portfolio Manager ........................................... Will allow a Portfolio Manager bot to supervize Trading Bots deciding where and when to increase or decrease their position sizes.]')
console.log('')
+11
View File
@@ -56,6 +56,7 @@ function newCanvas() {
UI.projects.foundations.spaces.sideSpace.finalize()
UI.projects.foundations.spaces.chartingSpace.finalize()
UI.projects.foundations.spaces.floatingSpace.finalize()
UI.projects.foundations.spaces.codeEditorSpace.finalize()
thisObject.shorcutNumbers = undefined
if (browserCanvas.removeEventListener) {
@@ -385,6 +386,11 @@ function newCanvas() {
if (UI.projects.education !== undefined && UI.projects.education.spaces.docsSpace.isVisible === true) {
return
}
/* When the Code Editor is Visible, we do not process key down events of the Designer Space. */
if (UI.projects.foundations.spaces.codeEditorSpace.isVisible === true) {
return
}
thisObject.mouse.event = event
thisObject.mouse.action = 'key down'
@@ -515,6 +521,11 @@ function newCanvas() {
return
}
}
if (nodeOnFocus.payload.uiObject.listSelector !== undefined) {
if (nodeOnFocus.payload.uiObject.listSelector.visible === true) {
return
}
}
if (nodeOnFocus.payload.uiObject.conditionEditor !== undefined) {
if (nodeOnFocus.payload.uiObject.conditionEditor.visible === true) {
return
+4
View File
@@ -225,6 +225,10 @@ function newEventsServerClient(lanNetworkNode) {
port = config.webSocketsPort
extwsurl = config.webSocketsExternalURL
if (UI.environment.DEMO_MODE === true) {
host = UI.environment.DEMO_MODE_HOST
}
/* Check if we really have to establish the connection. */
if (config.autoConnect === false) { return }
} catch (err) {
+1 -1
View File
@@ -188,7 +188,7 @@ function newFrame() {
function isThisPointHere(point, outsideViewPort, dontTransform, padding) {
// The second parameter is useful when you want to check a point that you already know is outside the viewport.
// The padding is a distance to the borders of the container. Can be either negative (outside, to increase the container size) or positive (inside to decrease the cointainer size)
// The padding is a distance to the borders of the container. Can be either negative (outside, to increase the container size) or positive (inside to decrease the container size)
if (padding === undefined) { padding = 0 }
+5
View File
@@ -261,6 +261,11 @@ let CURRENT_PANORAMA_POSITION = 0
let CAN_SPACES_DRAW = false // This global variable regulates when spaces can or can not draw their contents.
const codeEditorType = {
CODE: "code",
CONFIG: "config"
}
function toRadians(angle) {
return angle * (Math.PI / 180);
}
Loaded 100 of 1506 files, more files were not shown because too many files have changed in this diff. Show more