Giter Site home page Giter Site logo

x42protocol / xserver Goto Github PK

View Code? Open in Web Editor NEW
15.0 7.0 7.0 3.33 MB

x42 Protocol's xServer for hosting distributed applications

Home Page: http://www.x42.tech

License: MIT License

C# 14.24% TypeScript 2.93% JavaScript 0.04% CSS 77.53% HTML 1.13% SCSS 3.19% Batchfile 0.01% Dockerfile 0.04% Shell 0.91%
x42 decentralized-applications server

xserver's Introduction

xServer

About xServer

xServer as the foundation of the x42 distributed network and hosting distributed applications.

xServer.D

xServer daemon can be ran without the UI as a headless application.

Config

Use the x42Server.conf to make any configuration changes for the desired enviroment.

Windows config location:

%AppData%\xServerData\

Linux config location:

Located in your home directory ~/.xServerData/

xServer.UI

The user interface is what is used to make it easier to setup and monitor the xServer daemon. You can also use it to check your cold balance, hosted applications and several others xServer functions.

Further help

Please join our Discord channel for help and discussions

xserver's People

Contributors

dennisamenace avatar dependabot[bot] avatar dimsavva avatar gabriel-x42 avatar psavva avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

xserver's Issues

xServer - Expanded History

Is the feature you are request related to a problem? Please describe it in detail:
When the cold balance is taken off xServer the 'Latest Transactions' box is no longer shown.

Describe the solution you would like:
Having 'Latest Transactions' be shown in a secondary tab would be ideal, so even when the balance is zero the user would be able to check their transaction history in an easy manner using the UI, I think the ideal place for positioning would be to the side of the 'Server' toggle option on the upper left. When clicking this option the user would be taken to the same place the button 'View all history' leads.

image

image

Intermittent Issue - xServer Stuck in IBD Mode

Bug Description:
The xServer never leaves the IBD mode.

Steps to reproduce the bug:

  1. Open the xServer client
  2. Set it up and unlock it.
  3. Sometimes the client is completely stuck in IBD mode upon first sync, even while fully synced up.

Screenshots:
image

Feature Request - Grace Period Countdown

Is the feature you are request related to a problem? Please describe it in detail:
Currently users have no easy visual way to know when their xServer is going to deregistered from the network. There are no warnings even when the cold staking balance is removed.

Describe the solution you would like:
A countdown somewhere near the 'Start xServer' button with a message that makes clear that the balance is absent and the xServer is going to deregistered from the network.
Something like 'Your cold wallet balance is absent, your xServer will be removed from the network in X blocks'

image

Dashboard button / Home Button move to menu bar

Currently the Dashboard button is only selectable from the Server menu dropdown list.

It would be great if the button was always visible on the menu bar to make it easier for users to find and easier to return to the dashboard with less steps involved.

image

Revenue Breakdown - Staking and Dapp history

Describe the solution you would like:
A clear and concise reveneue tab added to the side of Server or expanded transaction history in a manner the user can break down how much he made with staking, specific dapps and other types of revenue that might come about. The system we have right now is somewhat simplistic and doesn't show the whole picture in detail.
In this manner users would be able to determine at a glance if a dapp is worth hosting after a certain period of time.

image

image

This change would also solve the sizing issue for the unlocked xServer UI.

Postgres to Mongo Migration

Full removal of postgres database in favor on MongoDB.

Currently, the Profile Reservation and Profile are using Mongo for the data storage, together with the dApps deployments, amongst others.

Full migration from postgres to x42 needs to be completed.

Broken / Missing Icon

Bug Description:
Icon in upper left corner is broken

Steps to reproduce the bug:

  1. Open xServer

Screenshots:
image

Expected Behavior:
The icon should be a pleasant to see image.

Desktop (please complete the following information if applicable):

  • OS: Win 64

Function Request - Hot-Cold wallet options

Is the feature you are request related to a problem? Please describe it in detail:
Currently fees or stakes automatically default to either the hot or cold wallet, there is no options of any kind for the host.

Describe the solution you would like:
A toggle on option to let users breakdown what they want to go where would be a nice addition.

This is definitely in the 'nice to have' category, and not a priority by any means.

Bans

The xServer needs to ban other nodes automatically when a node is malicious.

If a signature fails, the node should not have registered in the first place. Indicates node is maliciously changing data.

Bans can be locked in until manually cleared depending on severity of issue.

SSID copy function on the UI

Bug Description:
After using the provisioner tool during the setup of a new xServer the copy function for the SSID doesn't work on the UI side.

Steps to reproduce the bug:
Get to this window.
image

Input your key address and click 'copy', you will have the keyaddress cached instead of the SSID for the new server.

xServer Provisioner

Implementation of MongoDB Connections in the Provisioner
Removal of duplicate entries in the docker-compose for mongo db connection strings (harmonize it)

Start xServer automatically

A while back, Contabo did some maintenance and restarted my server, and everything came back online but It didn't start, it needed me to put the password in the xserver UI so my xserver was kicked off the network.

I think xserver need a way for it to start up automatically... You know in blockcore, you can set the wallet password in the x42.config, and when the node starts up, it will automatically start staking again without you having to put in the password... I imagine xServer needs something like that too.

I think that would help with users not getting xservers kicked off the network.

unable to finalize the process

Stuck at 50% or 80%

image

Console report:

localhost:42220/api/node/status:1 Failed to load resource: net::ERR_CONNECTION_REFUSED localhost:42220/api/wallet/send-transaction:1 Failed to load resource: the server responded with a status of 400 (Bad Request) localhost:42220/api/wallet/send-transaction:1 Failed to load resource: the server responded with a status of 400 (Bad Request) localhost:42220/api/xServer/registerxserver:1 Failed to load resource: the server responded with a status of 400 (Bad Request) localhost:42220/api/xServer/registerxserver:1 Failed to load resource: the server responded with a status of 400 (Bad Request) localhost:42220/api/coldstaking/setup-cold-staking:1 Failed to load resource: the server responded with a status of 400 (Bad Request) localhost:42220/api/xServer/registerxserver:1 Failed to load resource: the server responded with a status of 400 (Bad Request) polyfills-es2015.99d829ca5e591f761d1f.js:1 POST http://localhost:42220/api/xServer/registerxserver 400 (Bad Request) _ @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 onScheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleMacroTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 p @ polyfills-es2015.99d829ca5e591f761d1f.js:1 (anonymous) @ polyfills-es2015.99d829ca5e591f761d1f.js:1 r.<computed> @ polyfills-es2015.99d829ca5e591f761d1f.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 _trySubscribe @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 B @ main-es2015.47921df839931d71b4b9.js:1 _innerSub @ main-es2015.47921df839931d71b4b9.js:1 _tryNext @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 _trySubscribe @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 broadcastRegistrationRequest @ main-es2015.47921df839931d71b4b9.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 s.<computed> @ polyfills-es2015.99d829ca5e591f761d1f.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 onInvokeTask @ main-es2015.47921df839931d71b4b9.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 runTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 invoke @ polyfills-es2015.99d829ca5e591f761d1f.js:1 n.args.<computed> @ polyfills-es2015.99d829ca5e591f761d1f.js:1 setInterval (async) i @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 onScheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleMacroTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 p @ polyfills-es2015.99d829ca5e591f761d1f.js:1 (anonymous) @ polyfills-es2015.99d829ca5e591f761d1f.js:1 r.<computed> @ polyfills-es2015.99d829ca5e591f761d1f.js:1 startRegistration @ main-es2015.47921df839931d71b4b9.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 __tryOrUnsub @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 notifyNext @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 o @ main-es2015.47921df839931d71b4b9.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 onInvokeTask @ main-es2015.47921df839931d71b4b9.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 runTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 h @ polyfills-es2015.99d829ca5e591f761d1f.js:1 p @ polyfills-es2015.99d829ca5e591f761d1f.js:1 load (async) P @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 onScheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleEventTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 (anonymous) @ polyfills-es2015.99d829ca5e591f761d1f.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 _trySubscribe @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 B @ main-es2015.47921df839931d71b4b9.js:1 _innerSub @ main-es2015.47921df839931d71b4b9.js:1 _tryNext @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 _trySubscribe @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 testXServer @ main-es2015.47921df839931d71b4b9.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 __tryOrUnsub @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 notifyNext @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 o @ main-es2015.47921df839931d71b4b9.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 onInvokeTask @ main-es2015.47921df839931d71b4b9.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 runTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 h @ polyfills-es2015.99d829ca5e591f761d1f.js:1 p @ polyfills-es2015.99d829ca5e591f761d1f.js:1 load (async) P @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 onScheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleEventTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 (anonymous) @ polyfills-es2015.99d829ca5e591f761d1f.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 _trySubscribe @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 B @ main-es2015.47921df839931d71b4b9.js:1 _innerSub @ main-es2015.47921df839931d71b4b9.js:1 _tryNext @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 _trySubscribe @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 startMethods @ main-es2015.47921df839931d71b4b9.js:1 ngOnInit @ main-es2015.47921df839931d71b4b9.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 Uo @ main-es2015.47921df839931d71b4b9.js:1 fs @ main-es2015.47921df839931d71b4b9.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 updateDirectives @ main-es2015.47921df839931d71b4b9.js:1 Vo @ main-es2015.47921df839931d71b4b9.js:1 Yo @ main-es2015.47921df839931d71b4b9.js:1 Go @ main-es2015.47921df839931d71b4b9.js:1 Vo @ main-es2015.47921df839931d71b4b9.js:1 Yo @ main-es2015.47921df839931d71b4b9.js:1 Go @ main-es2015.47921df839931d71b4b9.js:1 Vo @ main-es2015.47921df839931d71b4b9.js:1 detectChanges @ main-es2015.47921df839931d71b4b9.js:1 ngAfterViewInit @ main-es2015.47921df839931d71b4b9.js:1 ql @ main-es2015.47921df839931d71b4b9.js:1 $l @ main-es2015.47921df839931d71b4b9.js:1 Wl @ main-es2015.47921df839931d71b4b9.js:1 Vo @ main-es2015.47921df839931d71b4b9.js:1 detectChanges @ main-es2015.47921df839931d71b4b9.js:1 tick @ main-es2015.47921df839931d71b4b9.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 invoke @ polyfills-es2015.99d829ca5e591f761d1f.js:1 onInvoke @ main-es2015.47921df839931d71b4b9.js:1 invoke @ polyfills-es2015.99d829ca5e591f761d1f.js:1 run @ polyfills-es2015.99d829ca5e591f761d1f.js:1 run @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 r @ main-es2015.47921df839931d71b4b9.js:1 __tryOrUnsub @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 emit @ main-es2015.47921df839931d71b4b9.js:1 Ti @ main-es2015.47921df839931d71b4b9.js:1 Pi @ main-es2015.47921df839931d71b4b9.js:1 onInvokeTask @ main-es2015.47921df839931d71b4b9.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 runTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 h @ polyfills-es2015.99d829ca5e591f761d1f.js:1 p @ polyfills-es2015.99d829ca5e591f761d1f.js:1 Show 190 more frames main-es2015.47921df839931d71b4b9.js:1 [xCore] Object reference not set to an instance of an object. (Code: 400) log @ main-es2015.47921df839931d71b4b9.js:1 error @ main-es2015.47921df839931d71b4b9.js:1 handleException @ main-es2015.47921df839931d71b4b9.js:1 handleInitialError @ main-es2015.47921df839931d71b4b9.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 error @ main-es2015.47921df839931d71b4b9.js:1 _error @ main-es2015.47921df839931d71b4b9.js:1 error @ main-es2015.47921df839931d71b4b9.js:1 _error @ main-es2015.47921df839931d71b4b9.js:1 error @ main-es2015.47921df839931d71b4b9.js:1 notifyError @ main-es2015.47921df839931d71b4b9.js:1 _error @ main-es2015.47921df839931d71b4b9.js:1 error @ main-es2015.47921df839931d71b4b9.js:1 _error @ main-es2015.47921df839931d71b4b9.js:1 error @ main-es2015.47921df839931d71b4b9.js:1 _error @ main-es2015.47921df839931d71b4b9.js:1 error @ main-es2015.47921df839931d71b4b9.js:1 o @ main-es2015.47921df839931d71b4b9.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 onInvokeTask @ main-es2015.47921df839931d71b4b9.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 runTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 h @ polyfills-es2015.99d829ca5e591f761d1f.js:1 p @ polyfills-es2015.99d829ca5e591f761d1f.js:1 load (async) P @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 onScheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleEventTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 (anonymous) @ polyfills-es2015.99d829ca5e591f761d1f.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 _trySubscribe @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 B @ main-es2015.47921df839931d71b4b9.js:1 _innerSub @ main-es2015.47921df839931d71b4b9.js:1 _tryNext @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 _trySubscribe @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 broadcastRegistrationRequest @ main-es2015.47921df839931d71b4b9.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 s.<computed> @ polyfills-es2015.99d829ca5e591f761d1f.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 onInvokeTask @ main-es2015.47921df839931d71b4b9.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 runTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 invoke @ polyfills-es2015.99d829ca5e591f761d1f.js:1 n.args.<computed> @ polyfills-es2015.99d829ca5e591f761d1f.js:1 setInterval (async) i @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 onScheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleMacroTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 p @ polyfills-es2015.99d829ca5e591f761d1f.js:1 (anonymous) @ polyfills-es2015.99d829ca5e591f761d1f.js:1 r.<computed> @ polyfills-es2015.99d829ca5e591f761d1f.js:1 startRegistration @ main-es2015.47921df839931d71b4b9.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 __tryOrUnsub @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 notifyNext @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 o @ main-es2015.47921df839931d71b4b9.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 onInvokeTask @ main-es2015.47921df839931d71b4b9.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 runTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 h @ polyfills-es2015.99d829ca5e591f761d1f.js:1 p @ polyfills-es2015.99d829ca5e591f761d1f.js:1 load (async) P @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 onScheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleEventTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 (anonymous) @ polyfills-es2015.99d829ca5e591f761d1f.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 _trySubscribe @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 B @ main-es2015.47921df839931d71b4b9.js:1 _innerSub @ main-es2015.47921df839931d71b4b9.js:1 _tryNext @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 _trySubscribe @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 testXServer @ main-es2015.47921df839931d71b4b9.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 __tryOrUnsub @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 notifyNext @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 o @ main-es2015.47921df839931d71b4b9.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 onInvokeTask @ main-es2015.47921df839931d71b4b9.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 runTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 h @ polyfills-es2015.99d829ca5e591f761d1f.js:1 p @ polyfills-es2015.99d829ca5e591f761d1f.js:1 load (async) P @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 onScheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleEventTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 (anonymous) @ polyfills-es2015.99d829ca5e591f761d1f.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 _trySubscribe @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 B @ main-es2015.47921df839931d71b4b9.js:1 _innerSub @ main-es2015.47921df839931d71b4b9.js:1 _tryNext @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 _trySubscribe @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 startMethods @ main-es2015.47921df839931d71b4b9.js:1 ngOnInit @ main-es2015.47921df839931d71b4b9.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 Uo @ main-es2015.47921df839931d71b4b9.js:1 fs @ main-es2015.47921df839931d71b4b9.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 updateDirectives @ main-es2015.47921df839931d71b4b9.js:1 Vo @ main-es2015.47921df839931d71b4b9.js:1 Yo @ main-es2015.47921df839931d71b4b9.js:1 Go @ main-es2015.47921df839931d71b4b9.js:1 Vo @ main-es2015.47921df839931d71b4b9.js:1 Yo @ main-es2015.47921df839931d71b4b9.js:1 Go @ main-es2015.47921df839931d71b4b9.js:1 Vo @ main-es2015.47921df839931d71b4b9.js:1 detectChanges @ main-es2015.47921df839931d71b4b9.js:1 ngAfterViewInit @ main-es2015.47921df839931d71b4b9.js:1 ql @ main-es2015.47921df839931d71b4b9.js:1 $l @ main-es2015.47921df839931d71b4b9.js:1 Wl @ main-es2015.47921df839931d71b4b9.js:1 Vo @ main-es2015.47921df839931d71b4b9.js:1 detectChanges @ main-es2015.47921df839931d71b4b9.js:1 tick @ main-es2015.47921df839931d71b4b9.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 invoke @ polyfills-es2015.99d829ca5e591f761d1f.js:1 onInvoke @ main-es2015.47921df839931d71b4b9.js:1 invoke @ polyfills-es2015.99d829ca5e591f761d1f.js:1 run @ polyfills-es2015.99d829ca5e591f761d1f.js:1 run @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 r @ main-es2015.47921df839931d71b4b9.js:1 __tryOrUnsub @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 emit @ main-es2015.47921df839931d71b4b9.js:1 Ti @ main-es2015.47921df839931d71b4b9.js:1 Pi @ main-es2015.47921df839931d71b4b9.js:1 onInvokeTask @ main-es2015.47921df839931d71b4b9.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 runTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 h @ polyfills-es2015.99d829ca5e591f761d1f.js:1 p @ polyfills-es2015.99d829ca5e591f761d1f.js:1 Show 213 more frames main-es2015.47921df839931d71b4b9.js:1 ERROR Ab {headers: vb, status: 400, statusText: "Bad Request", url: "http://localhost:42220/api/xServer/registerxserver", ok: false, …}error: {errors: Array(1), type: null, title: null, status: 0}headers: vb {normalizedNames: Map(0), lazyUpdate: null, lazyInit: ƒ}message: "Http failure response for http://localhost:42220/api/xServer/registerxserver: 400 Bad Request"name: "HttpErrorResponse"ok: falsestatus: 400statusText: "Bad Request"url: "http://localhost:42220/api/xServer/registerxserver"__proto__: Ob Xe @ main-es2015.47921df839931d71b4b9.js:1 handleError @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 r @ main-es2015.47921df839931d71b4b9.js:1 __tryOrUnsub @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 emit @ main-es2015.47921df839931d71b4b9.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 invoke @ polyfills-es2015.99d829ca5e591f761d1f.js:1 run @ polyfills-es2015.99d829ca5e591f761d1f.js:1 runOutsideAngular @ main-es2015.47921df839931d71b4b9.js:1 onHandleError @ main-es2015.47921df839931d71b4b9.js:1 handleError @ polyfills-es2015.99d829ca5e591f761d1f.js:1 runTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 invoke @ polyfills-es2015.99d829ca5e591f761d1f.js:1 n.args.<computed> @ polyfills-es2015.99d829ca5e591f761d1f.js:1 setTimeout (async) i @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 onScheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleMacroTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 p @ polyfills-es2015.99d829ca5e591f761d1f.js:1 (anonymous) @ polyfills-es2015.99d829ca5e591f761d1f.js:1 r.<computed> @ polyfills-es2015.99d829ca5e591f761d1f.js:1 o @ main-es2015.47921df839931d71b4b9.js:1 error @ main-es2015.47921df839931d71b4b9.js:1 _error @ main-es2015.47921df839931d71b4b9.js:1 error @ main-es2015.47921df839931d71b4b9.js:1 _error @ main-es2015.47921df839931d71b4b9.js:1 error @ main-es2015.47921df839931d71b4b9.js:1 notifyError @ main-es2015.47921df839931d71b4b9.js:1 _error @ main-es2015.47921df839931d71b4b9.js:1 error @ main-es2015.47921df839931d71b4b9.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 _trySubscribe @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 B @ main-es2015.47921df839931d71b4b9.js:1 error @ main-es2015.47921df839931d71b4b9.js:1 _error @ main-es2015.47921df839931d71b4b9.js:1 error @ main-es2015.47921df839931d71b4b9.js:1 _error @ main-es2015.47921df839931d71b4b9.js:1 error @ main-es2015.47921df839931d71b4b9.js:1 notifyError @ main-es2015.47921df839931d71b4b9.js:1 _error @ main-es2015.47921df839931d71b4b9.js:1 error @ main-es2015.47921df839931d71b4b9.js:1 _error @ main-es2015.47921df839931d71b4b9.js:1 error @ main-es2015.47921df839931d71b4b9.js:1 _error @ main-es2015.47921df839931d71b4b9.js:1 error @ main-es2015.47921df839931d71b4b9.js:1 o @ main-es2015.47921df839931d71b4b9.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 onInvokeTask @ main-es2015.47921df839931d71b4b9.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 runTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 h @ polyfills-es2015.99d829ca5e591f761d1f.js:1 p @ polyfills-es2015.99d829ca5e591f761d1f.js:1 load (async) P @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 onScheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleEventTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 (anonymous) @ polyfills-es2015.99d829ca5e591f761d1f.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 _trySubscribe @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 B @ main-es2015.47921df839931d71b4b9.js:1 _innerSub @ main-es2015.47921df839931d71b4b9.js:1 _tryNext @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 _trySubscribe @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 broadcastRegistrationRequest @ main-es2015.47921df839931d71b4b9.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 s.<computed> @ polyfills-es2015.99d829ca5e591f761d1f.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 onInvokeTask @ main-es2015.47921df839931d71b4b9.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 runTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 invoke @ polyfills-es2015.99d829ca5e591f761d1f.js:1 n.args.<computed> @ polyfills-es2015.99d829ca5e591f761d1f.js:1 setInterval (async) i @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 onScheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleMacroTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 p @ polyfills-es2015.99d829ca5e591f761d1f.js:1 (anonymous) @ polyfills-es2015.99d829ca5e591f761d1f.js:1 r.<computed> @ polyfills-es2015.99d829ca5e591f761d1f.js:1 startRegistration @ main-es2015.47921df839931d71b4b9.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 __tryOrUnsub @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 notifyNext @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 o @ main-es2015.47921df839931d71b4b9.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 onInvokeTask @ main-es2015.47921df839931d71b4b9.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 runTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 h @ polyfills-es2015.99d829ca5e591f761d1f.js:1 p @ polyfills-es2015.99d829ca5e591f761d1f.js:1 load (async) P @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 onScheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleEventTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 (anonymous) @ polyfills-es2015.99d829ca5e591f761d1f.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 _trySubscribe @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 B @ main-es2015.47921df839931d71b4b9.js:1 _innerSub @ main-es2015.47921df839931d71b4b9.js:1 _tryNext @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 _trySubscribe @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 testXServer @ main-es2015.47921df839931d71b4b9.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 __tryOrUnsub @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 notifyNext @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 o @ main-es2015.47921df839931d71b4b9.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 onInvokeTask @ main-es2015.47921df839931d71b4b9.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 runTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 h @ polyfills-es2015.99d829ca5e591f761d1f.js:1 p @ polyfills-es2015.99d829ca5e591f761d1f.js:1 load (async) P @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 onScheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 scheduleEventTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 (anonymous) @ polyfills-es2015.99d829ca5e591f761d1f.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 _trySubscribe @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 B @ main-es2015.47921df839931d71b4b9.js:1 _innerSub @ main-es2015.47921df839931d71b4b9.js:1 _tryNext @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 _trySubscribe @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 call @ main-es2015.47921df839931d71b4b9.js:1 subscribe @ main-es2015.47921df839931d71b4b9.js:1 startMethods @ main-es2015.47921df839931d71b4b9.js:1 ngOnInit @ main-es2015.47921df839931d71b4b9.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 Uo @ main-es2015.47921df839931d71b4b9.js:1 fs @ main-es2015.47921df839931d71b4b9.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 updateDirectives @ main-es2015.47921df839931d71b4b9.js:1 Vo @ main-es2015.47921df839931d71b4b9.js:1 Yo @ main-es2015.47921df839931d71b4b9.js:1 Go @ main-es2015.47921df839931d71b4b9.js:1 Vo @ main-es2015.47921df839931d71b4b9.js:1 Yo @ main-es2015.47921df839931d71b4b9.js:1 Go @ main-es2015.47921df839931d71b4b9.js:1 Vo @ main-es2015.47921df839931d71b4b9.js:1 detectChanges @ main-es2015.47921df839931d71b4b9.js:1 ngAfterViewInit @ main-es2015.47921df839931d71b4b9.js:1 ql @ main-es2015.47921df839931d71b4b9.js:1 $l @ main-es2015.47921df839931d71b4b9.js:1 Wl @ main-es2015.47921df839931d71b4b9.js:1 Vo @ main-es2015.47921df839931d71b4b9.js:1 detectChanges @ main-es2015.47921df839931d71b4b9.js:1 tick @ main-es2015.47921df839931d71b4b9.js:1 (anonymous) @ main-es2015.47921df839931d71b4b9.js:1 invoke @ polyfills-es2015.99d829ca5e591f761d1f.js:1 onInvoke @ main-es2015.47921df839931d71b4b9.js:1 invoke @ polyfills-es2015.99d829ca5e591f761d1f.js:1 run @ polyfills-es2015.99d829ca5e591f761d1f.js:1 run @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 r @ main-es2015.47921df839931d71b4b9.js:1 __tryOrUnsub @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 _next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 next @ main-es2015.47921df839931d71b4b9.js:1 emit @ main-es2015.47921df839931d71b4b9.js:1 Ti @ main-es2015.47921df839931d71b4b9.js:1 Pi @ main-es2015.47921df839931d71b4b9.js:1 onInvokeTask @ main-es2015.47921df839931d71b4b9.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 runTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 invokeTask @ polyfills-es2015.99d829ca5e591f761d1f.js:1 h @ polyfills-es2015.99d829ca5e591f761d1f.js:1 p @ polyfills-es2015.99d829ca5e591f761d1f.js:1 Show 250 more frames

Bug - Start xServer not going away after grace period

Bug Description:
After the 6 block grace period the 'Start xServer' box is expected to vanish and the register box should come in its place, that is not happening.

Steps to reproduce the bug:

  1. Go to xServer, set it up
  2. Go to xCore, remove the cold staking balance from xServer
  3. Wait for the 6 block grace period
  4. See error

image

Expected Behavior:
'Start xServer' box is not being replaced by the correct one.

Desktop (please complete the following information if applicable):

  • OS: Windows 10 64 bits

xServer Auto-updater warning broken

Bug Description:
On the current version of xServer (.5) the auto-updater warning and red bell that substitute the cog are broken.

Expected Behavior:
The red bell should be resintated letting users known when there is a new version out.

xServer Gone to Seed - Error Message

Is the feature you are request related to a problem? Please describe it in detail:
Currently there is no easy way to determine if your xServer has gone to seed, especially when the balance hasn't been removed from the delegated wallet.

Describe the solution you would like:
A popup giving an error message would be ideal, something like 'Please resync your xServer, it is currently not being recognized by the network' or something to that effect.

Clock Sync - xServer version

Describe the solution you would like:
Several [WINDOWS] users have a frequent and annoying time synchronization problem due to microsoft updates on our other products, no reason we should allow for that to happen on xServer.

Describe the solution you would like:
Have a windows showing a warning if the xServer client detects the PC's clock to be out of sync, the warning should come before staking or dapp hosting is initiated.

Update defaults - xServer setup

Is the feature you are request related to a problem? Please describe it in detail:
Since we've updated the provisioner tool the ports and protocol have changed, it would be a good idea to auto-default them to the new values.

Describe the solution you would like:
Default server port should be set to 443.
Default protocol to https, not http.

DNS (PowerDNS)

PowerDNS has been adopted as the DNS servers for the dApps

The feature needs to be completed.

Feature Request - Rescan wallet click option

Is the feature you are request related to a problem? Please describe it in detail:
When trying to rescan a wallet one is not able to simply click the month or year number to choose.

Describe the solution you would like:
An option that allows users to click on the month and year to quickly scroll to the exact month they want. This will be especially useful in a few years.

'Wallet with name 'X' already exists.

When creating a new xServer wallet a freezing bug presents itself.
xServer fresh install, no parameters changed (including testnet), there is a version of Fullnode .19 installed on this same machine.

Steps to reproduce the behavior:

  1. Go to xServer
  2. Click on Create Main Wallet (which is not capitalized by the way)
  3. Enter the password and seed words, confirm seed words, click confirm.
  4. See this window hanging, it doesn't go away even when you click OK
    image

Expected behavior
The wallet is expected to move forward from this point into the server itself.

  • OS: Windows 10 completely up to date
  • Browser: Chrome
  • Version: 79.0.3945.117

Unlock Screen: Preselect the character input box

When the xServer unlock screen appears the character input box is not selected. A user must navigate to and select the box before making an input.

To improve the user experience it would be great if the box was preselected and ready to receive the password from the user. The user would only need to type the password and press enter to continue without requiring navigation to the box and selecting it.

Add a copy button to the Wordpress DApp end screen.

Describe the solution you would like:
Adding a copy button to the live version of the Wordpress Dapp is a really good idea, it would allow users to cache their website setup page right after they are done provisioning it.

image

xServer Provisioning failure

Test Credentials OK
And after clicking Provision xServer, always that black screen with NOTHING in the logs.

image

I just had time to capture that live image when i click on Provision xServer

image

I

Bug Description:
A clear and concise description of what the bug is.

Steps to reproduce the bug:

  1. Go to '...'
  2. Click on '...'
  3. Scroll down to '...'
  4. See error '...'

Screenshots:
If applicable, attach screenshots to help explain the issue you've experienced, please post them in a chronological manner, and on the proper step of the bug reproduction section.

Expected Behavior:
A clear and concise description of what you expected to happen.

Desktop (please complete the following information if applicable):

  • OS: [e.g. iOS including version]
  • Browser: [e.g. chrome, safari]
  • Browser Version: [e.g. 22]

Additional Context:
Add any other context, descriptions or information about the problem here.

Update Checker

Automated update checker should display a notification when a new xServer is released.

Keep in mind that the new implementation is based on docker, thus updating should be as specifying an update.

Addresses to .txt export option

Describe the solution you would like:
Add an option to export the addresses generated via the 'Generate Addresses' option under advanced to a .txt file.

image

UI Enhancement - Sidebar

Is the feature you are request related to a problem? Please describe it in detail:
When xServer is registered and unlocked a small sidebar is shown on the right.

Describe the solution you would like:
Reposition or resize boxes inside xServer so there are no scroll bars of any kind.

image

Tracking Discord Bot

I think x42 needs a discord bot that will track the xservers, and if one is offline for a while, or falls inactive for whatever reason to ping the xserver owner and let them know the server is about to get delisted as a xserver if action isn't taken soon.

Advanced menu change - Connections and Sync

Describe the solution you would like:
It would be beneficial to update the connections interface of xServer and use xCore's instead.
It is much more intuitive and gives a better feel overall to the software wallet.
We could also ditch the entire advanced context menu from xServer for the new look of xCore via the cog.

image

dApps Feature

Ability to add dApps to X42
Ability to deploy (consider UI needs for forms, inputs, etc)

Protection of dApps

  • Monitoring
  • Secrets Management

Frontend SPA force refresh on every reload

The Frontend does not refresh automatically when a new updates are deployed.
All updates to the frontend should be delivered to clients, and thus caching management must be put in place.

Function Request - Wallet 'Save as'

Add a function that allows a 'save as' function for the .wallet.json file from local %appdata% directory in all three platforms (tux, mac and win) directly to a targeted local or network drive.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.