diff --git a/src/routes/cloudron.js b/src/routes/cloudron.js index 4fe5fddbc..ead9f459d 100644 --- a/src/routes/cloudron.js +++ b/src/routes/cloudron.js @@ -275,7 +275,7 @@ async function getLogStream(req, res, next) { res.on('close', logStream.close); logStream.on('data', function (data) { const obj = JSON.parse(data); - res.write(sse(obj.monotonicTimestamp, JSON.stringify(obj))); // send timestamp as id + res.write(sse(obj.realtimeTimestamp, JSON.stringify(obj))); // send timestamp as id }); logStream.on('end', res.end.bind(res)); logStream.on('error', res.end.bind(res, null)); diff --git a/src/routes/services.js b/src/routes/services.js index 5ba6759ee..374a1b659 100644 --- a/src/routes/services.js +++ b/src/routes/services.js @@ -110,7 +110,7 @@ async function getLogStream(req, res, next) { res.on('close', logStream.close); logStream.on('data', function (data) { const obj = JSON.parse(data); - res.write(sse(obj.monotonicTimestamp, JSON.stringify(obj))); // send timestamp as id + res.write(sse(obj.realtimeTimestamp, JSON.stringify(obj))); // send timestamp as id }); logStream.on('end', res.end.bind(res)); logStream.on('error', res.end.bind(res, null)); diff --git a/src/routes/tasks.js b/src/routes/tasks.js index 0dbd3bb06..73b971b51 100644 --- a/src/routes/tasks.js +++ b/src/routes/tasks.js @@ -105,7 +105,7 @@ async function getLogStream(req, res, next) { res.on('close', logStream.close); logStream.on('data', function (data) { const obj = JSON.parse(data); - res.write(sse(obj.monotonicTimestamp, JSON.stringify(obj))); // send timestamp as id + res.write(sse(obj.realtimeTimestamp, JSON.stringify(obj))); // send timestamp as id }); logStream.on('end', res.end.bind(res)); logStream.on('error', res.end.bind(res, null)); diff --git a/src/routes/test/cloudron-test.js b/src/routes/test/cloudron-test.js index 5467b09e5..b2c406a6b 100644 --- a/src/routes/test/cloudron-test.js +++ b/src/routes/test/cloudron-test.js @@ -8,6 +8,7 @@ const constants = require('../../constants.js'), common = require('./common.js'), expect = require('expect.js'), + fs = require('fs'), http = require('http'), os = require('os'), paths = require('../../paths.js'), @@ -300,6 +301,11 @@ describe('Cloudron API', function () { }); describe('logs', function () { + before(function () { + console.log(paths.BOX_LOG_FILE); + fs.writeFileSync(paths.BOX_LOG_FILE, '2022-11-06T15:06:20.009Z box:apphealthmonitor app health: 0 alive / 0 dead.\n', 'utf8'); + }); + it('logStream - requires event-stream accept header', async function () { const response = await superagent.get(`${serverUrl}/api/v1/cloudron/logstream/box`) .query({ access_token: owner.token, fromLine: 0 }) @@ -335,6 +341,7 @@ describe('Cloudron API', function () { expect(dataMessageFound).to.be.ok(); + res.destroy(); req.destroy(); done(); }, 1000);