Merge branch 'master' into bwindels/reactions

This commit is contained in:
Bruno Windels 2021-06-04 16:33:10 +02:00
commit 3e47877645
2 changed files with 11 additions and 6 deletions

View file

@ -32,7 +32,8 @@ export class Timeline {
this._disposables = new Disposables(); this._disposables = new Disposables();
this._pendingEvents = pendingEvents; this._pendingEvents = pendingEvents;
this._clock = clock; this._clock = clock;
this._remoteEntries = null; // constructing this early avoid some problem while sync and openTimeline race
this._remoteEntries = new SortedArray((a, b) => a.compare(b));
this._ownMember = null; this._ownMember = null;
this._timelineReader = new TimelineReader({ this._timelineReader = new TimelineReader({
roomId: this._roomId, roomId: this._roomId,
@ -96,7 +97,6 @@ export class Timeline {
} }
_setupEntries(timelineEntries) { _setupEntries(timelineEntries) {
this._remoteEntries = new SortedArray((a, b) => a.compare(b));
this._remoteEntries.setManySorted(timelineEntries); this._remoteEntries.setManySorted(timelineEntries);
if (this._pendingEvents) { if (this._pendingEvents) {
this._localEntries = new MappedList(this._pendingEvents, pe => { this._localEntries = new MappedList(this._pendingEvents, pe => {
@ -159,7 +159,9 @@ export class Timeline {
// Once the subscription is setup, MappedList will set up the local // Once the subscription is setup, MappedList will set up the local
// relations as needed with _applyAndEmitLocalRelationChange, // relations as needed with _applyAndEmitLocalRelationChange,
// so we're not missing anything by bailing out. // so we're not missing anything by bailing out.
if (!this._localEntries.hasSubscriptions) { //
// _localEntries can also not yet exist
if (!this._localEntries?.hasSubscriptions) {
return; return;
} }
// find any local relations to this new remote event // find any local relations to this new remote event

View file

@ -14,10 +14,13 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
const container = document.querySelector(".hydrogen"); let container;
export function spinner(t, extraClasses = undefined) { export function spinner(t, extraClasses = undefined) {
if (container.classList.contains("legacy")) { if (container === undefined) {
container = document.querySelector(".hydrogen");
}
if (container?.classList.contains("legacy")) {
return t.div({className: "spinner"}, [ return t.div({className: "spinner"}, [
t.div(), t.div(),
t.div(), t.div(),