remove more uses of the deprictated function
This commit is contained in:
parent
00946b500a
commit
3894fcb976
8 changed files with 156 additions and 145 deletions
|
@ -154,23 +154,23 @@ class Channel {
|
|||
}
|
||||
setUpInfiniteScroller() {
|
||||
this.infinite = new InfiniteScroller(async function (id, offset) {
|
||||
const snowflake = this.messages.get(id).snowflake;
|
||||
const snowflake = id;
|
||||
if (offset === 1) {
|
||||
if (this.idToPrev.has(snowflake)) {
|
||||
return this.idToPrev.get(snowflake)?.id;
|
||||
return this.idToPrev.get(snowflake);
|
||||
}
|
||||
else {
|
||||
await this.grabBefore(id);
|
||||
return this.idToPrev.get(snowflake)?.id;
|
||||
return this.idToPrev.get(snowflake);
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (this.idToNext.has(snowflake)) {
|
||||
return this.idToNext.get(snowflake)?.id;
|
||||
return this.idToNext.get(snowflake);
|
||||
}
|
||||
else if (this.lastmessage?.id !== id) {
|
||||
await this.grabAfter(id);
|
||||
return this.idToNext.get(snowflake)?.id;
|
||||
return this.idToNext.get(snowflake);
|
||||
}
|
||||
else {
|
||||
console.log("at bottom");
|
||||
|
@ -237,12 +237,12 @@ class Channel {
|
|||
this.topic = json.topic;
|
||||
this.nsfw = json.nsfw;
|
||||
this.position = json.position;
|
||||
this.lastreadmessageid = null;
|
||||
this.lastreadmessageid = undefined;
|
||||
if (json.last_message_id) {
|
||||
this.lastmessageid = SnowFlake.getSnowFlakeFromID(json.last_message_id, Message);
|
||||
this.lastmessageid = json.last_message_id;
|
||||
}
|
||||
else {
|
||||
this.lastmessageid = null;
|
||||
this.lastmessageid = undefined;
|
||||
}
|
||||
this.setUpInfiniteScroller();
|
||||
}
|
||||
|
@ -259,7 +259,7 @@ class Channel {
|
|||
return this.owner.info;
|
||||
}
|
||||
readStateInfo(json) {
|
||||
this.lastreadmessageid = SnowFlake.getSnowFlakeFromID(json.last_message_id, Message);
|
||||
this.lastreadmessageid = json.last_message_id;
|
||||
this.mentions = json.mention_count;
|
||||
this.mentions ??= 0;
|
||||
this.lastpin = json.last_pin_timestamp;
|
||||
|
@ -626,9 +626,9 @@ class Channel {
|
|||
}
|
||||
}
|
||||
async getmessage(id) {
|
||||
const snowflake = SnowFlake.getSnowFlakeFromID(id, Message);
|
||||
if (snowflake.getObject()) {
|
||||
return snowflake.getObject();
|
||||
const message = this.messages.get(id);
|
||||
if (message) {
|
||||
return message;
|
||||
}
|
||||
else {
|
||||
const gety = await fetch(this.info.api + "/channels/" + this.snowflake + "/messages?limit=1&around=" + id, { headers: this.headers });
|
||||
|
@ -705,7 +705,7 @@ class Channel {
|
|||
return;
|
||||
}
|
||||
;
|
||||
if (this.lastreadmessageid && this.lastreadmessageid.getObject()) {
|
||||
if (this.lastreadmessageid && this.messages.has(this.lastreadmessageid)) {
|
||||
return;
|
||||
}
|
||||
const j = await fetch(this.info.api + "/channels/" + this.snowflake + "/messages?limit=100", {
|
||||
|
@ -719,8 +719,8 @@ class Channel {
|
|||
for (const thing of response) {
|
||||
const message = new Message(thing, this);
|
||||
if (prev) {
|
||||
this.idToNext.set(message.snowflake, prev.snowflake);
|
||||
this.idToPrev.set(prev.snowflake, message.snowflake);
|
||||
this.idToNext.set(message.id, prev.id);
|
||||
this.idToPrev.set(prev.id, message.id);
|
||||
}
|
||||
else {
|
||||
this.lastmessage = message;
|
||||
|
@ -747,7 +747,7 @@ class Channel {
|
|||
await fetch(this.info.api + "/channels/" + this.id + "/messages?limit=100&after=" + id, {
|
||||
headers: this.headers
|
||||
}).then((j) => { return j.json(); }).then(response => {
|
||||
let previd = SnowFlake.getSnowFlakeFromID(id, Message);
|
||||
let previd = id;
|
||||
for (const i in response) {
|
||||
let messager;
|
||||
let willbreak = false;
|
||||
|
@ -758,9 +758,9 @@ class Channel {
|
|||
messager = SnowFlake.getSnowFlakeFromID(response[i].id, Message).getObject();
|
||||
willbreak = true;
|
||||
}
|
||||
this.idToPrev.set(messager.snowflake, previd);
|
||||
this.idToNext.set(previd, messager.snowflake);
|
||||
previd = messager.snowflake;
|
||||
this.idToPrev.set(messager.id, previd);
|
||||
this.idToNext.set(previd, messager.id);
|
||||
previd = messager.id;
|
||||
this.messageids.set(messager.snowflake, messager);
|
||||
if (willbreak) {
|
||||
break;
|
||||
|
@ -772,33 +772,33 @@ class Channel {
|
|||
}
|
||||
topid;
|
||||
async grabBefore(id) {
|
||||
if (this.topid && id === this.topid.id) {
|
||||
if (this.topid && id === this.topid) {
|
||||
return;
|
||||
}
|
||||
await fetch(this.info.api + "/channels/" + this.snowflake + "/messages?before=" + id + "&limit=100", {
|
||||
await fetch(this.info.api + "/channels/" + this.id + "/messages?before=" + id + "&limit=100", {
|
||||
headers: this.headers
|
||||
}).then((j) => { return j.json(); }).then((response) => {
|
||||
if (response.length < 100) {
|
||||
this.allthewayup = true;
|
||||
if (response.length === 0) {
|
||||
this.topid = SnowFlake.getSnowFlakeFromID(id, Message);
|
||||
this.topid = id;
|
||||
}
|
||||
}
|
||||
let previd = SnowFlake.getSnowFlakeFromID(id, Message);
|
||||
let previd = id;
|
||||
for (const i in response) {
|
||||
let messager;
|
||||
let willbreak = false;
|
||||
if (!SnowFlake.hasSnowFlakeFromID(response[i].id, Message)) {
|
||||
messager = new Message(response[i], this);
|
||||
}
|
||||
else {
|
||||
if (this.messages.has(response[i].id)) {
|
||||
console.log("flaky");
|
||||
messager = SnowFlake.getSnowFlakeFromID(response[i].id, Message).getObject();
|
||||
messager = this.messages.get(response[i].id);
|
||||
willbreak = true;
|
||||
}
|
||||
this.idToNext.set(messager.snowflake, previd);
|
||||
this.idToPrev.set(previd, messager.snowflake);
|
||||
previd = messager.snowflake;
|
||||
else {
|
||||
messager = new Message(response[i], this);
|
||||
}
|
||||
this.idToNext.set(messager.id, previd);
|
||||
this.idToPrev.set(previd, messager.id);
|
||||
previd = messager.id;
|
||||
this.messageids.set(messager.snowflake, messager);
|
||||
if (+i === response.length - 1 && response.length < 100) {
|
||||
this.topid = previd;
|
||||
|
@ -840,13 +840,13 @@ class Channel {
|
|||
const removetitle = document.getElementById("removetitle");
|
||||
//messages.innerHTML="";
|
||||
let id;
|
||||
if (this.lastreadmessageid && this.lastreadmessageid.getObject()) {
|
||||
if (this.lastreadmessageid && this.messages.has(this.lastreadmessageid)) {
|
||||
id = this.lastreadmessageid;
|
||||
}
|
||||
else if (this.lastreadmessageid && (id = this.findClosest(this.lastreadmessageid))) {
|
||||
}
|
||||
else if (this.lastmessage && this.lastmessage.snowflake) {
|
||||
id = this.goBackIds(this.lastmessage.snowflake, 50);
|
||||
else if (this.lastmessageid && this.messages.has(this.lastmessageid)) {
|
||||
id = this.goBackIds(this.lastmessageid, 50);
|
||||
}
|
||||
if (!id) {
|
||||
if (!removetitle) {
|
||||
|
@ -863,11 +863,11 @@ class Channel {
|
|||
else if (removetitle) {
|
||||
removetitle.remove();
|
||||
}
|
||||
messages.append(await this.infinite.getDiv(id.id));
|
||||
messages.append(await this.infinite.getDiv(id));
|
||||
this.infinite.updatestuff();
|
||||
this.infinite.watchForChange().then(async (_) => {
|
||||
//await new Promise(resolve => setTimeout(resolve, 0));
|
||||
this.infinite.focus(id.id, false); //if someone could figure out how to make this work correctly without this, that's be great :P
|
||||
this.infinite.focus(id, false); //if someone could figure out how to make this work correctly without this, that's be great :P
|
||||
loading.classList.remove("loading");
|
||||
});
|
||||
//this.infinite.focus(id.id,false);
|
||||
|
@ -890,22 +890,18 @@ class Channel {
|
|||
}
|
||||
return id;
|
||||
}
|
||||
findClosest(snowflake) {
|
||||
if (!this.lastmessage)
|
||||
findClosest(id) {
|
||||
if (!this.lastmessageid || !id)
|
||||
return;
|
||||
let flake = this.lastmessage.snowflake;
|
||||
if (!snowflake) {
|
||||
return;
|
||||
}
|
||||
;
|
||||
const time = snowflake.getUnixTime();
|
||||
let flaketime = flake.getUnixTime();
|
||||
let flake = this.lastmessageid;
|
||||
const time = Number((BigInt(id) >> 22n) + 1420070400000n);
|
||||
let flaketime = Number((BigInt(flake) >> 22n) + 1420070400000n);
|
||||
while (flake && time < flaketime) {
|
||||
flake = this.idToPrev.get(flake);
|
||||
if (!flake) {
|
||||
return undefined;
|
||||
}
|
||||
flaketime = flake.getUnixTime();
|
||||
flaketime = Number((BigInt(flake) >> 22n) + 1420070400000n);
|
||||
}
|
||||
return flake;
|
||||
}
|
||||
|
@ -1013,13 +1009,13 @@ class Channel {
|
|||
const messagez = new Message(messagep.d, this);
|
||||
this.lastmessage = messagez;
|
||||
if (this.lastmessageid) {
|
||||
this.idToNext.set(this.lastmessageid, messagez.snowflake);
|
||||
this.idToPrev.set(messagez.snowflake, this.lastmessageid);
|
||||
this.idToNext.set(this.lastmessageid, messagez.id);
|
||||
this.idToPrev.set(messagez.id, this.lastmessageid);
|
||||
}
|
||||
this.lastmessageid = messagez.snowflake;
|
||||
this.lastmessageid = messagez.id;
|
||||
this.messageids.set(messagez.snowflake, messagez);
|
||||
if (messagez.author === this.localuser.user) {
|
||||
this.lastreadmessageid = messagez.snowflake;
|
||||
this.lastreadmessageid = messagez.id;
|
||||
if (this.myhtml) {
|
||||
this.myhtml.classList.remove("cunread");
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue