merge devel

This commit is contained in:
or-else
2023-04-24 14:34:25 -07:00
9 changed files with 29 additions and 19 deletions
+6 -1
View File
@@ -249,13 +249,18 @@ class MessagesView extends React.Component {
this.postReadNotification(0); this.postReadNotification(0);
} }
if (topic && ((this.state.topic != prevState.topic) || !prevProps.ready)) { if (topic) {
if ((this.state.topic != prevState.topic) || !prevProps.ready) {
// Don't immediately subscribe to a new p2p topic, wait for the first message. // Don't immediately subscribe to a new p2p topic, wait for the first message.
if (topic._new && topic.isP2PType()) { if (topic._new && topic.isP2PType()) {
topic.getMeta(topic.startMetaQuery().withDesc().build()); topic.getMeta(topic.startMetaQuery().withDesc().build());
} else { } else {
this.subscribe(topic); this.subscribe(topic);
} }
} else if (topic.isSubscribed() && this.state.isReader && !prevState.isReader) {
// If reader status has changed and data became available.
topic.getMeta(topic.startMetaQuery().withLaterData().build());
}
} }
} }
+5 -1
View File
@@ -5289,12 +5289,16 @@ class MessagesView extends (react__WEBPACK_IMPORTED_MODULE_0___default().Compone
} else { } else {
this.postReadNotification(0); this.postReadNotification(0);
} }
if (topic && (this.state.topic != prevState.topic || !prevProps.ready)) { if (topic) {
if (this.state.topic != prevState.topic || !prevProps.ready) {
if (topic._new && topic.isP2PType()) { if (topic._new && topic.isP2PType()) {
topic.getMeta(topic.startMetaQuery().withDesc().build()); topic.getMeta(topic.startMetaQuery().withDesc().build());
} else { } else {
this.subscribe(topic); this.subscribe(topic);
} }
} else if (topic.isSubscribed() && this.state.isReader && !prevState.isReader) {
topic.getMeta(topic.startMetaQuery().withLaterData().build());
}
} }
} }
static getDerivedStateFromProps(nextProps, prevState) { static getDerivedStateFromProps(nextProps, prevState) {
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+2 -1
View File
@@ -4058,8 +4058,9 @@ class Topic {
return this._tinode.getMeta(this.name, params); return this._tinode.getMeta(this.name, params);
} }
getMessagesPage(limit, forward) { getMessagesPage(limit, forward) {
this._tinode._db.missingRanges(this.name, this._maxSeq, limit, forward ? this._maxSeq : undefined).then(ranges => {
let query = forward ? this.startMetaQuery().withLaterData(limit) : this.startMetaQuery().withEarlierData(limit); let query = forward ? this.startMetaQuery().withLaterData(limit) : this.startMetaQuery().withEarlierData(limit);
this._tinode._db.missingRanges(this.name, this._maxSeq, limit).then(ranges => console.log("missing range:", ranges)); });
return this._loadMessages(this._tinode._db, query.extract('data')).then(count => { return this._loadMessages(this._tinode._db, query.extract('data')).then(count => {
if (count == limit) { if (count == limit) {
return Promise.resolve({ return Promise.resolve({
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long