diff --git a/android/apps/interface/src/main/java/io/highfidelity/hifiinterface/provider/EndpointUsersProvider.java b/android/apps/interface/src/main/java/io/highfidelity/hifiinterface/provider/EndpointUsersProvider.java index 7c32a8e8fb..bd4df61ecf 100644 --- a/android/apps/interface/src/main/java/io/highfidelity/hifiinterface/provider/EndpointUsersProvider.java +++ b/android/apps/interface/src/main/java/io/highfidelity/hifiinterface/provider/EndpointUsersProvider.java @@ -154,18 +154,18 @@ public class EndpointUsersProvider implements UsersProvider { } public interface EndpointUsersProviderService { - @GET("api/v1/users") + @GET("/api/v1/users") Call getUsers(@Query("filter") String filter, @Query("per_page") int perPage, @Query("online") Boolean online); - @DELETE("api/v1/user/connections/{connectionUserName}") + @DELETE("/api/v1/user/connections/{connectionUserName}") Call removeConnection(@Path("connectionUserName") String connectionUserName); - @DELETE("api/v1/user/friends/{friendUserName}") + @DELETE("/api/v1/user/friends/{friendUserName}") Call removeFriend(@Path("friendUserName") String friendUserName); - @POST("api/v1/user/friends") + @POST("/api/v1/user/friends") Call addFriend(@Body BodyAddFriend friendUserName); /* response diff --git a/android/apps/interface/src/main/java/io/highfidelity/hifiinterface/provider/UserStoryDomainProvider.java b/android/apps/interface/src/main/java/io/highfidelity/hifiinterface/provider/UserStoryDomainProvider.java index e3b631bd69..6033ce72cc 100644 --- a/android/apps/interface/src/main/java/io/highfidelity/hifiinterface/provider/UserStoryDomainProvider.java +++ b/android/apps/interface/src/main/java/io/highfidelity/hifiinterface/provider/UserStoryDomainProvider.java @@ -169,7 +169,7 @@ public class UserStoryDomainProvider implements DomainProvider { } public interface UserStoryDomainProviderService { - @GET("api/v1/user_stories") + @GET("/api/v1/user_stories") Call getUserStories(@Query("include_actions") String includeActions, @Query("restriction") String restriction, @Query("require_online") boolean requireOnline, diff --git a/assignment-client/src/audio/AudioMixerClientData.h b/assignment-client/src/audio/AudioMixerClientData.h index 4f5e8e6d68..16c849c216 100644 --- a/assignment-client/src/audio/AudioMixerClientData.h +++ b/assignment-client/src/audio/AudioMixerClientData.h @@ -14,7 +14,10 @@ #include +#if !defined(Q_MOC_RUN) +// Work around https://bugreports.qt.io/browse/QTBUG-80990 #include +#endif #include diff --git a/assignment-client/src/audio/AudioMixerSlave.h b/assignment-client/src/audio/AudioMixerSlave.h index 9765ea8639..03668c8146 100644 --- a/assignment-client/src/audio/AudioMixerSlave.h +++ b/assignment-client/src/audio/AudioMixerSlave.h @@ -12,7 +12,10 @@ #ifndef hifi_AudioMixerSlave_h #define hifi_AudioMixerSlave_h +#if !defined(Q_MOC_RUN) +// Work around https://bugreports.qt.io/browse/QTBUG-80990 #include +#endif #include #include diff --git a/domain-server/resources/describe-settings.json b/domain-server/resources/describe-settings.json index 7c8783bb82..7c99bd2e46 100644 --- a/domain-server/resources/describe-settings.json +++ b/domain-server/resources/describe-settings.json @@ -8,20 +8,20 @@ { "name": "access_token", "label": "Access Token", - "help": "This is your OAuth access token to connect this domain-server with your High Fidelity account.
It can be generated by clicking the 'Connect Account' button above.
You can also go to the My Security page of your account and generate a token with the 'domains' scope and paste it here.", + "help": "This is your OAuth access token to connect this domain-server with your Metaverse account.
It can be generated by clicking the 'Connect Account' button above.
You can also go to the Security page of your account on your Metaverse Server and generate a token with the 'domains' scope and paste it here.", "advanced": true, "backup": false }, { "name": "id", "label": "Domain ID", - "help": "This is your High Fidelity domain ID. If you do not want your domain to be registered in the High Fidelity metaverse you can leave this blank.", + "help": "This is your Metaverse domain ID. If you do not want your domain to be registered in the Metaverse you can leave this blank.", "advanced": true }, { "name": "automatic_networking", "label": "Automatic Networking", - "help": "This defines how other nodes in the High Fidelity metaverse will be able to reach your domain-server.
If you don't want to deal with any network settings, use full automatic networking.", + "help": "This defines how other nodes in the Metaverse will be able to reach your domain-server.
If you don't want to deal with any network settings, use full automatic networking.", "default": "disabled", "type": "select", "options": [ @@ -35,7 +35,7 @@ }, { "value": "disabled", - "label": "None: use the network information I have entered for this domain at metaverse.highfidelity.com" + "label": "None: use the network information I have entered for this domain at in the Metaverse Server." } ] }, @@ -50,7 +50,7 @@ { "name": "enable_packet_verification", "label": "Enable Packet Verification", - "help": "Enable secure checksums on communication that uses the High Fidelity protocol. Increases security with possibly a small performance penalty.", + "help": "Enable secure checksums on communication that uses the Metaverse protocol. Increases security with possibly a small performance penalty.", "default": true, "type": "checkbox", "advanced": true @@ -160,7 +160,7 @@ "name": "descriptors", "label": "Description", "restart": false, - "help": "This data will be queryable from your server. It may be collected by High Fidelity and used to share your domain with others.", + "help": "This data will be queryable from your server. It may be collected by the Metaverse and used to share your domain with others.", "settings": [ { "name": "world_name", diff --git a/domain-server/resources/web/js/shared.js b/domain-server/resources/web/js/shared.js index 3c7dd2705c..dd0cda0f5f 100644 --- a/domain-server/resources/web/js/shared.js +++ b/domain-server/resources/web/js/shared.js @@ -51,9 +51,9 @@ $.extend(Settings, { var URLs = { // STABLE METAVERSE_URL: https://metaverse.highfidelity.com // STAGING METAVERSE_URL: https://staging.highfidelity.com - METAVERSE_URL: 'https://metaverse.highfidelity.com', - CDN_URL: 'https://cdn.highfidelity.com', - PLACE_URL: 'https://hifi.place', + DEFAULT_METAVERSE_URL: "https://metaverse.vircadia.com/live", + CDN_URL: 'https://content.vircadia.com/eu-c-1', + PLACE_URL: 'https://xr.place' }; var Strings = { @@ -61,7 +61,7 @@ var Strings = { CHOOSE_DOMAIN_BUTTON: "Choose from my domains", CREATE_DOMAIN_BUTTON: "Create new domain ID", - CREATE_DOMAIN_SUCCESS_JUST_CONNECTED: "We connnected your High Fidelity account and created a new domain ID for this machine.", + CREATE_DOMAIN_SUCCESS_JUST_CONNECTED: "We connnected your Metaverse account and created a new domain ID for this machine.", CREATE_DOMAIN_SUCCESS: "We created a new domain ID for this machine.", // When a place modification fails, they will be brought back to the previous @@ -92,7 +92,7 @@ var Strings = { ADD_PLACE_LOADING_DIALOG: "Loading your places...", ADD_PLACE_NOT_CONNECTED_TITLE: "Access token required", - ADD_PLACE_NOT_CONNECTED_MESSAGE: "You must have an access token to query your High Fidelity places.

Please follow the instructions on the settings page to add an access token.", + ADD_PLACE_NOT_CONNECTED_MESSAGE: "You must have an access token to query your Metaverse places.

Please follow the instructions on the settings page to add an access token.", }; var DOMAIN_ID_TYPE_NONE = 0; @@ -230,213 +230,212 @@ function getDomainFromAPI(callback) { function chooseFromHighFidelityPlaces(accessToken, forcePathTo, onSuccessfullyAdded) { if (accessToken) { + getMetaverseUrl(function(metaverse_url) { - var loadingDialog = showLoadingDialog(Strings.ADD_PLACE_LOADING_DIALOG); + var loadingDialog = showLoadingDialog(Strings.ADD_PLACE_LOADING_DIALOG); - function loadPlaces() { - $.ajax("/api/places", { - dataType: 'json', - jsonp: false, - success: function(data) { - if (data.status == 'success') { - var modal_buttons = { - cancel: { - label: Strings.ADD_PLACE_CANCEL_BUTTON, - className: 'add-place-cancel-button btn-default' - } - }; - - var dialog; - var modal_body; - - if (data.data.places.length) { - var places_by_id = {}; - - modal_body = $('
'); - - modal_body.append($("

Choose a place name that you own or register a new place name

")); - - var currentDomainIDType = getCurrentDomainIDType(); - if (currentDomainIDType === DOMAIN_ID_TYPE_TEMP) { - var warning = "
"; - warning += "If you choose a place name it will replace your current temporary place name."; - warning += "
"; - modal_body.append(warning); - } - - // setup a select box for the returned places - modal_body.append($("")); - place_select = $(""); - _.each(data.data.places, function(place) { - places_by_id[place.id] = place; - place_select.append(""); - }) - modal_body.append(place_select); - modal_body.append($("")); - - if (forcePathTo === undefined || forcePathTo === null) { - var path = "
"; - path += ""; - path += ""; - path += "
"; - modal_body.append($(path)); - } - - var place_select = modal_body.find("#place-name-select") - place_select.change(function(ev) { - var warning = modal_body.find("#place-name-warning"); - var place = places_by_id[$(this).val()]; - if (place === undefined || place.pointee === null) { - warning.hide(); - } else { - warning.show(); + function loadPlaces() { + $.ajax("/api/places", { + dataType: 'json', + jsonp: false, + success: function(data) { + if (data.status == 'success') { + var modal_buttons = { + cancel: { + label: Strings.ADD_PLACE_CANCEL_BUTTON, + className: 'add-place-cancel-button btn-default' } - }); - place_select.trigger('change'); + }; - modal_buttons["success"] = { - label: Strings.ADD_PLACE_CONFIRM_BUTTON, - className: 'add-place-confirm-button btn btn-primary', - callback: function() { - var placeID = $('#place-name-select').val(); - // set the place ID on the form - $(Settings.place_ID_SELECTOR).val(placeID).change(); + var dialog; + var modal_body; + if (data.data.places.length) { + var places_by_id = {}; - if (forcePathTo === undefined || forcePathTo === null) { - var placePath = $('#place-path-input').val(); + modal_body = $('
'); + + modal_body.append($("

Choose a place name that you own or register a new place name

")); + + var currentDomainIDType = getCurrentDomainIDType(); + if (currentDomainIDType === DOMAIN_ID_TYPE_TEMP) { + var warning = "
"; + warning += "If you choose a place name it will replace your current temporary place name."; + warning += "
"; + modal_body.append(warning); + } + + // setup a select box for the returned places + modal_body.append($("")); + place_select = $(""); + _.each(data.data.places, function(place) { + places_by_id[place.id] = place; + place_select.append(""); + }) + modal_body.append(place_select); + modal_body.append($("")); + + if (forcePathTo === undefined || forcePathTo === null) { + var path = "
"; + path += ""; + path += ""; + path += "
"; + modal_body.append($(path)); + } + + var place_select = modal_body.find("#place-name-select") + place_select.change(function(ev) { + var warning = modal_body.find("#place-name-warning"); + var place = places_by_id[$(this).val()]; + if (place === undefined || place.pointee === null) { + warning.hide(); } else { - var placePath = forcePathTo; + warning.show(); } + }); + place_select.trigger('change'); - $('.add-place-confirm-button').attr('disabled', 'disabled'); - $('.add-place-confirm-button').html(Strings.ADD_PLACE_CONFIRM_BUTTON_PENDING); - $('.add-place-cancel-button').attr('disabled', 'disabled'); + modal_buttons["success"] = { + label: Strings.ADD_PLACE_CONFIRM_BUTTON, + className: 'add-place-confirm-button btn btn-primary', + callback: function() { + var placeID = $('#place-name-select').val(); + // set the place ID on the form + $(Settings.place_ID_SELECTOR).val(placeID).change(); - function finalizeSaveDomainID(domainID) { - var jsonSettings = { - metaverse: { - id: domainID - } - } - var dialog = showLoadingDialog("Waiting for Domain Server to restart..."); - $.ajax('/settings.json', { - data: JSON.stringify(jsonSettings), - contentType: 'application/json', - type: 'POST' - }).done(function(data) { - if (data.status == "success") { - waitForDomainServerRestart(function() { - dialog.modal('hide'); - if (onSuccessfullyAdded) { - onSuccessfullyAdded(places_by_id[placeID].name, domainID); - } - }); - } else { - bootbox.alert("Failed to add place"); - } - }).fail(function() { - bootbox.alert("Failed to add place"); - }); - } - - // If domainID is not specified, the current domain id will be used. - function finishSettingUpPlace(domainID) { - sendUpdatePlaceRequest( - placeID, - placePath, - domainID, - false, - function(data) { - dialog.modal('hide') - if (domainID) { - $(Settings.DOMAIN_ID_SELECTOR).val(domainID).change(); - finalizeSaveDomainID(domainID); - } else { - if (onSuccessfullyAdded) { - onSuccessfullyAdded(places_by_id[placeID].name); - } - } - }, - function(data) { - $('.add-place-confirm-button').removeAttr('disabled'); - $('.add-place-confirm-button').html(Strings.ADD_PLACE_CONFIRM_BUTTON); - $('.add-place-cancel-button').removeAttr('disabled'); - bootbox.alert(Strings.ADD_PLACE_UNKNOWN_ERROR); - } - ); - } - - function maybeCreateNewDomainID() { - console.log("Maybe creating domain id", currentDomainIDType) - if (currentDomainIDType === DOMAIN_ID_TYPE_FULL) { - finishSettingUpPlace(); + if (forcePathTo === undefined || forcePathTo === null) { + var placePath = $('#place-path-input').val(); } else { - sendCreateDomainRequest(function(domainID) { - console.log("Created domain", domainID); - finishSettingUpPlace(domainID); - }, function() { - $('.add-place-confirm-button').removeAttr('disabled'); - $('.add-place-confirm-button').html(Strings.ADD_PLACE_CONFIRM_BUTTON); - $('.add-place-cancel-button').removeAttr('disabled'); - bootbox.alert(Strings.ADD_PLACE_UNKNOWN_ERROR); + var placePath = forcePathTo; + } + + $('.add-place-confirm-button').attr('disabled', 'disabled'); + $('.add-place-confirm-button').html(Strings.ADD_PLACE_CONFIRM_BUTTON_PENDING); + $('.add-place-cancel-button').attr('disabled', 'disabled'); + + function finalizeSaveDomainID(domainID) { + var jsonSettings = { + metaverse: { + id: domainID + } + } + var dialog = showLoadingDialog("Waiting for Domain Server to restart..."); + $.ajax('/settings.json', { + data: JSON.stringify(jsonSettings), + contentType: 'application/json', + type: 'POST' + }).done(function(data) { + if (data.status == "success") { + waitForDomainServerRestart(function() { + dialog.modal('hide'); + if (onSuccessfullyAdded) { + onSuccessfullyAdded(places_by_id[placeID].name, domainID); + } + }); + } else { + bootbox.alert("Failed to add place"); + } + }).fail(function() { + bootbox.alert("Failed to add place"); }); } + + // If domainID is not specified, the current domain id will be used. + function finishSettingUpPlace(domainID) { + sendUpdatePlaceRequest( + placeID, + placePath, + domainID, + false, + function(data) { + dialog.modal('hide') + if (domainID) { + $(Settings.DOMAIN_ID_SELECTOR).val(domainID).change(); + finalizeSaveDomainID(domainID); + } else { + if (onSuccessfullyAdded) { + onSuccessfullyAdded(places_by_id[placeID].name); + } + } + }, + function(data) { + $('.add-place-confirm-button').removeAttr('disabled'); + $('.add-place-confirm-button').html(Strings.ADD_PLACE_CONFIRM_BUTTON); + $('.add-place-cancel-button').removeAttr('disabled'); + bootbox.alert(Strings.ADD_PLACE_UNKNOWN_ERROR); + } + ); + } + + function maybeCreateNewDomainID() { + console.log("Maybe creating domain id", currentDomainIDType) + if (currentDomainIDType === DOMAIN_ID_TYPE_FULL) { + finishSettingUpPlace(); + } else { + sendCreateDomainRequest(function(domainID) { + console.log("Created domain", domainID); + finishSettingUpPlace(domainID); + }, function() { + $('.add-place-confirm-button').removeAttr('disabled'); + $('.add-place-confirm-button').html(Strings.ADD_PLACE_CONFIRM_BUTTON); + $('.add-place-cancel-button').removeAttr('disabled'); + bootbox.alert(Strings.ADD_PLACE_UNKNOWN_ERROR); + }); + } + } + + maybeCreateNewDomainID(); + + return false; } - - maybeCreateNewDomainID(); - - return false; } + } else { + modal_buttons["success"] = { + label: Strings.ADD_PLACE_NO_PLACES_BUTTON, + callback: function() { + window.open(metaverse_url + "/user/places", '_blank'); + } + } + modal_body = Strings.ADD_PLACE_NO_PLACES_MESSAGE; } + dialog = bootbox.dialog({ + title: Strings.ADD_PLACE_TITLE, + message: modal_body, + closeButton: false, + buttons: modal_buttons, + onEscape: true + }); } else { - modal_buttons["success"] = { - label: Strings.ADD_PLACE_NO_PLACES_BUTTON, - callback: function() { - window.open(URLs.METAVERSE_URL + "/user/places", '_blank'); - } - } - modal_body = Strings.ADD_PLACE_NO_PLACES_MESSAGE; + bootbox.alert(Strings.ADD_PLACE_UNABLE_TO_LOAD_ERROR); } - - dialog = bootbox.dialog({ - title: Strings.ADD_PLACE_TITLE, - message: modal_body, - closeButton: false, - buttons: modal_buttons, - onEscape: true - }); - } else { + }, + error: function() { bootbox.alert(Strings.ADD_PLACE_UNABLE_TO_LOAD_ERROR); + }, + complete: function() { + loadingDialog.modal('hide'); } - }, - error: function() { - bootbox.alert(Strings.ADD_PLACE_UNABLE_TO_LOAD_ERROR); - }, - complete: function() { - loadingDialog.modal('hide'); - } - }); - } - - var domainType = getCurrentDomainIDType(); - if (domainType !== DOMAIN_ID_TYPE_UNKNOWN) { - loadPlaces(); - } else { - getDomainFromAPI(function(data) { - if (data.status === 'success') { - var domainType = getCurrentDomainIDType(); - loadPlaces(); - } else { - loadingDialog.modal('hide'); - bootbox.confirm("We were not able to load your domain information from the Metaverse. Would you like to retry?", function(response) { - if (response) { - chooseFromHighFidelityPlaces(accessToken, forcePathTo, onSuccessfullyAdded); - } - }); - } - }) - } + }); + } + var domainType = getCurrentDomainIDType(); + if (domainType !== DOMAIN_ID_TYPE_UNKNOWN) { + loadPlaces(); + } else { + getDomainFromAPI(function(data) { + if (data.status === 'success') { + var domainType = getCurrentDomainIDType(); + loadPlaces(); + } else { + loadingDialog.modal('hide'); + bootbox.confirm("We were not able to load your domain information from the Metaverse. Would you like to retry?", function(response) { + if (response) { + chooseFromHighFidelityPlaces(accessToken, forcePathTo, onSuccessfullyAdded); + } + }); + } + }) + } + }); } else { bootbox.alert({ title: Strings.ADD_PLACE_NOT_CONNECTED_TITLE, @@ -507,8 +506,7 @@ function getMetaverseUrl(callback) { callback(data.metaverse_url); }, error: function() { - callback(URLs.METAVERSE_URL); + callback(URLs.DEFAULT_METAVERSE_URL); } }); } - diff --git a/domain-server/resources/web/settings/js/settings.js b/domain-server/resources/web/settings/js/settings.js index e8c04fa2be..b1e975bc6c 100644 --- a/domain-server/resources/web/settings/js/settings.js +++ b/domain-server/resources/web/settings/js/settings.js @@ -16,7 +16,7 @@ $(document).ready(function(){ Settings.extraGroupsAtEnd = Settings.extraDomainGroupsAtEnd; Settings.extraGroupsAtIndex = Settings.extraDomainGroupsAtIndex; - var METAVERSE_URL = URLs.METAVERSE_URL; + var METAVERSE_URL = URLs.DEFAULT_METAVERSE_URL; var SSL_PRIVATE_KEY_FILE_ID = 'ssl-private-key-file'; var SSL_PRIVATE_KEY_CONTENTS_ID = 'key-contents'; @@ -277,7 +277,7 @@ $(document).ready(function(){ swal({ title: '', type: 'error', - text: "There was a problem retrieving domain information from High Fidelity API.", + text: "There was a problem retrieving domain information from the Metaverse API.", confirmButtonText: 'Try again', showCancelButton: true, closeOnConfirm: false @@ -306,7 +306,7 @@ $(document).ready(function(){ if (hasAccessToken) { el = "

"; - el += ""; + el += ""; el += ""; el += "

"; el = $(el); @@ -319,7 +319,7 @@ $(document).ready(function(){ } buttonSetting.help = ""; buttonSetting.classes = "btn-primary"; - buttonSetting.button_label = "Connect High Fidelity Account"; + buttonSetting.button_label = "Connect Metaverse Account"; buttonSetting.html_id = Settings.CONNECT_ACCOUNT_BTN_ID; buttonSetting.href = METAVERSE_URL + "/user/tokens/new?for_domain_server=true"; @@ -713,7 +713,7 @@ $(document).ready(function(){ html_id: Settings.PLACES_TABLE_ID, help: "The following places currently point to this domain.
To point places to this domain, " + " go to the My Places " - + "page in your High Fidelity Metaverse account.", + + "page in your Metaverse account.", read_only: true, can_add_new_rows: false, columns: [ @@ -997,7 +997,7 @@ $(document).ready(function(){ if (data.data.domains.length) { // setup a select box for the returned domains - modal_body = "

Choose the High Fidelity domain you want this domain-server to represent.
This will set your domain ID on the settings page.

"; + modal_body = "

Choose the Metaverse domain you want this domain-server to represent.
This will set your domain ID on the settings page.

"; domain_select = $(""); _.each(data.data.domains, function(domain){ var domainString = ""; @@ -1026,7 +1026,7 @@ $(document).ready(function(){ window.open(METAVERSE_URL + "/user/domains", '_blank'); } } - modal_body = "

You do not have any domains in your High Fidelity account." + + modal_body = "

You do not have any domains in your Metaverse account." + "

Go to your domains page to create a new one. Once your domain is created re-open this dialog to select it.

" } @@ -1038,7 +1038,7 @@ $(document).ready(function(){ }) }, error: function() { - bootbox.alert("Failed to retrieve your domains from the High Fidelity Metaverse"); + bootbox.alert("Failed to retrieve your domains from the Metaverse"); }, complete: function() { // remove the spinner from the choose button @@ -1049,7 +1049,7 @@ $(document).ready(function(){ } else { bootbox.alert({ - message: "You must have an access token to query your High Fidelity domains.

" + + message: "You must have an access token to query your Metaverse domains.

" + "Please follow the instructions on the settings page to add an access token.", title: "Access token required" }) diff --git a/domain-server/resources/web/wizard/index.shtml b/domain-server/resources/web/wizard/index.shtml index 37f9d9e813..57515c1ce0 100644 --- a/domain-server/resources/web/wizard/index.shtml +++ b/domain-server/resources/web/wizard/index.shtml @@ -3,12 +3,12 @@

- By connecting your High Fidelity Account you will be granting access to your account information. + By connecting your Metaverse Account you will be granting access to your account information.
- Connect your High Fidelity account + Connect your Metaverse account
@@ -25,7 +25,7 @@
Place names are similar to web addresses. Users who want to visit your domain can - enter its Place Name in High Fidelity's Interface. You can choose a Place Name for your domain.
+ enter its Place Name in Vircadia's Interface. You can choose a Place Name for your domain.
Your domain may also be reachable by IP address.
@@ -56,11 +56,11 @@