From 7dfae9639455c1b60d6e953c4b242af1b664284f Mon Sep 17 00:00:00 2001 From: Mark Washeim Date: Wed, 18 Jan 2023 09:20:27 +0100 Subject: [PATCH] [Issue]: # 26. timelines/home on append uses the link header for min/max id --- harbour-tooterb.pro.user | 2 +- qml/lib/Worker.js | 31 ++++++++++++++----------------- qml/pages/components/MyList.qml | 9 +++++++-- 3 files changed, 22 insertions(+), 20 deletions(-) diff --git a/harbour-tooterb.pro.user b/harbour-tooterb.pro.user index b79aa86..41aebd6 100644 --- a/harbour-tooterb.pro.user +++ b/harbour-tooterb.pro.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/qml/lib/Worker.js b/qml/lib/Worker.js index c906c69..4a162bb 100644 --- a/qml/lib/Worker.js +++ b/qml/lib/Worker.js @@ -8,27 +8,24 @@ var max_id ; var since_id; WorkerScript.onMessage = function(msg) { -/* - console.log("Action > " + msg.action) - console.log("Model > " + msg.model) - console.log("Mode > " + msg.mode) - console.log("Conf > " + JSON.stringify(msg.conf)) - console.log("Params > " + JSON.stringify(msg.params)) -*/ + + if (debug) console.log("Action > " + msg.action) + if (debug) console.log("Mode > " + msg.mode) // this is not elegant. it's max_id and ids from MyList - - if (msg.params[1]) { + // we should always get max_id on append + if (msg.mode === "append") { if ( msg.params[0]["name"] === "max_id" ) { max_id = msg.params[0]["data"] - } else { - since_id = msg.params[0]["data"] - } - // we don't want to pass it onto the backend - if ( msg.params[1]["name"] === "ids" ) { - knownIds = msg.params[1]["data"] - msg.params.pop() } + } else if ( msg.mode === "prepend" && msg.params[0]) { + + // prepend could be min_id or since_id + since_id = msg.params[0]["data"] + + } + // ids are always the last param + if (msg.params[2]) { if ( msg.params[2]["name"] === "ids" ) { knownIds = msg.params[2]["data"] msg.params.pop() @@ -65,7 +62,7 @@ WorkerScript.onMessage = function(msg) { * this falls through and continues for GET */ - if (msg.action === "bookmarks"){ + if (msg.action === "bookmarks" || ( msg.action === "timelines/home" && msg.mode === "append") ){ API.getLink(msg.action, msg.params, function(data) { if (debug) console.log(JSON.stringify(data)) WorkerScript.sendMessage({ 'LinkHeader': data }) diff --git a/qml/pages/components/MyList.qml b/qml/pages/components/MyList.qml index 12df57b..4f77ec2 100644 --- a/qml/pages/components/MyList.qml +++ b/qml/pages/components/MyList.qml @@ -7,7 +7,7 @@ import "." SilicaListView { id: myList - property bool debug: false + property bool debug: true property string type property string title property string description @@ -350,11 +350,16 @@ SilicaListView { } } - //if (debug) console.log(JSON.stringify(uniqueIds)) + // to keep the number of params the same for all requests + // always set local + if(title === "Local") { type = "timelines/public" p.push({name:'local', data: "true"}) + } else { + p.push({name:'local', data: "false"}) } + // we push the ids via params which we remove in the WorkerScript if (model.count) { p.push({name:'ids', data: uniqueIds})