diff --git a/ast/apps.ts b/ast/apps.ts index a20902db..832971e4 100644 --- a/ast/apps.ts +++ b/ast/apps.ts @@ -326,7 +326,7 @@ module TDev.AST.Apps { // these 2 files are not stored in cdn, they are rewritten in the cloud [ "error", "browsers"].forEach(n => instructions.files.push({ path: options.filePrefix + n + ".html", - url: "https://www.touchdevelop.com/app/." + n + "?releaseid=" + options.relId + url: Cloud.getServiceUrl() + "/app/." + n + "?releaseid=" + options.relId })) instructions.meta.isCloud = app.isCloud; diff --git a/ast/help.ts b/ast/help.ts index 0332f8de..6d0a3581 100644 --- a/ast/help.ts +++ b/ast/help.ts @@ -356,12 +356,12 @@ module TDev { public topicLink(id:string) { - return (this.useExternalLinks ? "https://www.touchdevelop.com/docs/" : "#topic:") + MdComments.shrink(id); + return (this.useExternalLinks ? Cloud.getServiceUrl() + "/docs/" : "#topic:") + MdComments.shrink(id); } public appLink(id:string) { - return (this.useExternalLinks ? "https://www.touchdevelop.com/app/" : "") + id + return (this.useExternalLinks ? Cloud.getServiceUrl() + "/app/" : "") + id } static shrink(s:string) @@ -876,7 +876,7 @@ module TDev { false)) continue; - var tdev = "https://www.touchdevelop.com/"; + var tdev = Cloud.getServiceUrl() + "/"; if (allowRepl && ( applySpan(/^\{\#(\w+)\}/g, (m) => "") || applySpan(/^\[([^\[\]]*)\]\s*\(([^ \(\)\s]+)\)/, (m) => { diff --git a/libnode/runtime.ts b/libnode/runtime.ts index 1bc936a2..aeb6a2b3 100644 --- a/libnode/runtime.ts +++ b/libnode/runtime.ts @@ -678,6 +678,11 @@ module TDev.RT.Node { window.navigator = navigator; navigator.userAgent = "NodeJS " + process.version + if (process.env['TD_CLIENT_CONFIG']) { + var obj = JSON.parse(process.env['TD_CLIENT_CONFIG']) + Object.keys(obj).forEach(k => Cloud.config[k] = obj[k]) + } + Util.logSz = 3000; setupGlobalAgent() diff --git a/noderunner/nrunner.ts b/noderunner/nrunner.ts index 04cd5f54..b8b41b1e 100644 --- a/noderunner/nrunner.ts +++ b/noderunner/nrunner.ts @@ -33,6 +33,7 @@ var authKey = ""; var liteStorage = process.env['TDC_LITE_STORAGE'] || ""; var apiEndpoint = process.env['TDC_API_ENDPOINT'] || "https://www.touchdevelop.com/api/"; var accessToken = process.env['TDC_ACCESS_TOKEN'] || ""; +var ccfg = TDev.Cloud.config; class ApiRequest { @@ -772,6 +773,13 @@ function handleQuery(ar:ApiRequest, tcRes:TDev.AST.LoadScriptResult) { renderHelpTopicAsync(TDev.HelpTopic.fromScript(TDev.Script)).done(top => html(top)) break; + case "raw-docs": + renderHelpTopicAsync(TDev.HelpTopic.fromScript(TDev.Script)).done(top => { + hr.writeHead(200, { "Content-Type": "text/plain" }); + hr.end(top, "utf-8") + }) + break; + case "docs-info": TDev.HelpTopic.fromScript(TDev.Script).docInfoAsync().done(resp => ar.ok(resp)) break; @@ -953,7 +961,10 @@ var apiHandlers = { }, "css": (ar:ApiRequest) => { - ar.ok( { css: TDev.CopyRenderer.css }) + ar.ok( { + css: TDev.CopyRenderer.css, + relid: ccfg.relid, + }) }, "oauth": (ar:ApiRequest) => { @@ -1012,6 +1023,7 @@ var apiHandlers = { }) ar.ok({ + relid: ccfg.relid, topics: topics, topicsExt: topicsExt }); @@ -1030,7 +1042,8 @@ var apiHandlers = { ar.ok({ textVersion: TDev.AST.App.currentVersion, releaseid: relId, - tdVersion: process.env['TDC_VERSION'], + relid: ccfg.relid, + tdVersion: ccfg.tdVersion, }); break; @@ -1392,7 +1405,7 @@ function reportBug(ctx: string, err: any) { if (!slave) console.error(TDev.Ticker.bugReportToString(bug)); bug.exceptionConstructor = "NJS " + bug.exceptionConstructor; - bug.tdVersion = process.env['TDC_VERSION'] + bug.tdVersion = ccfg.tdVersion TDev.Util.httpPostRealJsonAsync(apiEndpoint + "bug" + accessToken, bug) .done(() => {}, err => { diff --git a/rt/cloud.ts b/rt/cloud.ts index c76a996d..1b211078 100644 --- a/rt/cloud.ts +++ b/rt/cloud.ts @@ -13,6 +13,7 @@ module TDev.Cloud { tdVersion?: string; releaseid?: string; + relid?: string; releaseLabel?: string; }