Compiles but fails creating Matrix client

This commit is contained in:
2021-04-25 17:21:33 +02:00
parent b6f6771492
commit 2926126100
5 changed files with 56 additions and 46 deletions

40
package-lock.json generated
View File

@@ -21,7 +21,7 @@
"@angular/platform-browser-dynamic": "~11.2.11",
"@angular/router": "~11.2.11",
"angular-auth-oidc-client": "^11.6.6",
"matrix-js-sdk": "^9.9.0",
"matrix-js-sdk": "^9.2.0",
"moment": "^2.29.1",
"olm": "https://packages.matrix.org/npm/olm/olm-3.2.1.tgz",
"path": "^0.12.7",
@@ -35,7 +35,7 @@
"@angular/compiler-cli": "~11.2.11",
"@types/jasmine": "~3.5.0",
"@types/jasminewd2": "~2.0.3",
"@types/matrix-js-sdk": "^9.2.1",
"@types/matrix-js-sdk": "^9.2.3",
"@types/node": "^12.20.6",
"codelyzer": "^6.0.0",
"jasmine-core": "~3.6.0",
@@ -2415,9 +2415,9 @@
"dev": true
},
"node_modules/@types/matrix-js-sdk": {
"version": "9.2.1",
"resolved": "https://registry.npmjs.org/@types/matrix-js-sdk/-/matrix-js-sdk-9.2.1.tgz",
"integrity": "sha512-RgNJ5ffGdt0bXyxQpbDXtuyAp/kH205Pgv/RZCoI29jbQXOScY6HlKxi6HJAlW5vexaYlCzGu+70tYqK0sxraQ==",
"version": "9.2.3",
"resolved": "https://registry.npmjs.org/@types/matrix-js-sdk/-/matrix-js-sdk-9.2.3.tgz",
"integrity": "sha512-laRm5frFhwrqyUkiYpl0T9YtHswbbSrPZkBcZLck+ZTlHniWiwdCKI4RDR0rWjQ+rI23y1hvFqmfoyma1DJGaA==",
"dev": true
},
"node_modules/@types/minimatch": {
@@ -9365,17 +9365,17 @@
}
},
"node_modules/matrix-js-sdk": {
"version": "9.9.0",
"resolved": "https://registry.npmjs.org/matrix-js-sdk/-/matrix-js-sdk-9.9.0.tgz",
"integrity": "sha512-rgy9b8D+GzjK3wfdmxDr42fxNV13fK12cvQD1qnsFzqPyJGeg++cazH/+7HxL/uuW/WQR6HAmfc7wo9VQegWtg==",
"version": "9.2.0",
"resolved": "https://registry.npmjs.org/matrix-js-sdk/-/matrix-js-sdk-9.2.0.tgz",
"integrity": "sha512-3lPgCB2in+AHDd+tLT8HbJ9elqDeJjYCE8i8Ti+NO2Myua62HIsf3pE/C/FE/QCDTuZBTjN0vgjym22M+GO65g==",
"dependencies": {
"@babel/runtime": "^7.12.5",
"@babel/runtime": "^7.11.2",
"another-json": "^0.2.0",
"browser-request": "^0.3.3",
"bs58": "^4.0.1",
"content-type": "^1.0.4",
"loglevel": "^1.7.1",
"qs": "^6.9.6",
"loglevel": "^1.7.0",
"qs": "^6.9.4",
"request": "^2.88.2",
"unhomoglyph": "^1.0.6"
}
@@ -20110,9 +20110,9 @@
"dev": true
},
"@types/matrix-js-sdk": {
"version": "9.2.1",
"resolved": "https://registry.npmjs.org/@types/matrix-js-sdk/-/matrix-js-sdk-9.2.1.tgz",
"integrity": "sha512-RgNJ5ffGdt0bXyxQpbDXtuyAp/kH205Pgv/RZCoI29jbQXOScY6HlKxi6HJAlW5vexaYlCzGu+70tYqK0sxraQ==",
"version": "9.2.3",
"resolved": "https://registry.npmjs.org/@types/matrix-js-sdk/-/matrix-js-sdk-9.2.3.tgz",
"integrity": "sha512-laRm5frFhwrqyUkiYpl0T9YtHswbbSrPZkBcZLck+ZTlHniWiwdCKI4RDR0rWjQ+rI23y1hvFqmfoyma1DJGaA==",
"dev": true
},
"@types/minimatch": {
@@ -25926,17 +25926,17 @@
}
},
"matrix-js-sdk": {
"version": "9.9.0",
"resolved": "https://registry.npmjs.org/matrix-js-sdk/-/matrix-js-sdk-9.9.0.tgz",
"integrity": "sha512-rgy9b8D+GzjK3wfdmxDr42fxNV13fK12cvQD1qnsFzqPyJGeg++cazH/+7HxL/uuW/WQR6HAmfc7wo9VQegWtg==",
"version": "9.2.0",
"resolved": "https://registry.npmjs.org/matrix-js-sdk/-/matrix-js-sdk-9.2.0.tgz",
"integrity": "sha512-3lPgCB2in+AHDd+tLT8HbJ9elqDeJjYCE8i8Ti+NO2Myua62HIsf3pE/C/FE/QCDTuZBTjN0vgjym22M+GO65g==",
"requires": {
"@babel/runtime": "^7.12.5",
"@babel/runtime": "^7.11.2",
"another-json": "^0.2.0",
"browser-request": "^0.3.3",
"bs58": "^4.0.1",
"content-type": "^1.0.4",
"loglevel": "^1.7.1",
"qs": "^6.9.6",
"loglevel": "^1.7.0",
"qs": "^6.9.4",
"request": "^2.88.2",
"unhomoglyph": "^1.0.6"
},

View File

@@ -24,7 +24,7 @@
"@angular/platform-browser-dynamic": "~11.2.11",
"@angular/router": "~11.2.11",
"angular-auth-oidc-client": "^11.6.6",
"matrix-js-sdk": "^9.9.0",
"matrix-js-sdk": "^9.2.0",
"moment": "^2.29.1",
"olm": "https://packages.matrix.org/npm/olm/olm-3.2.1.tgz",
"path": "^0.12.7",
@@ -38,7 +38,7 @@
"@angular/compiler-cli": "~11.2.11",
"@types/jasmine": "~3.5.0",
"@types/jasminewd2": "~2.0.3",
"@types/matrix-js-sdk": "^9.2.1",
"@types/matrix-js-sdk": "^9.2.3",
"@types/node": "^12.20.6",
"codelyzer": "^6.0.0",
"jasmine-core": "~3.6.0",

View File

@@ -1,15 +1,14 @@
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import * as matrix from 'matrix-js-sdk';
import { MatrixClient } from 'matrix-js-sdk/src/client';
import { MatrixEvent } from 'matrix-js-sdk/src/models/event';
import { Room, RoomMember } from 'matrix-js-sdk/src/models/room';
import { SyncApi } from 'matrix-js-sdk/src/sync';
import * as olm from 'olm';
import * as matrixsdk from 'matrix-js-sdk';
import { Observable } from 'rxjs';
import { MatrixLoginDto } from '../entities/matrix-login-dto';
import { ChatMessageHandler } from './chat-message-handler';
global.Olm = olm;
// global.Olm = olm;
export type MatrixClient = matrixsdk.MatrixClient;
export type MatrixEvent = matrixsdk.MatrixEvent;
export type Room = matrixsdk.Room;
export type RoomMember = matrixsdk.RoomMember;
const FORWARDS = 'f';
@@ -38,10 +37,10 @@ export class ChatService {
return matrixClientPromise;
}
getUserId = (): boolean => {
getUserId = (): string => {
if (this.matrixClient === undefined) { return null; }
return this.matrixClient.getUserId;
return this.matrixClient.getUserId();
}
isLogged = (): boolean => {
@@ -91,7 +90,7 @@ export class ChatService {
let room: Room = this.matrixClient.getRoom(roomId) as Room;
if (room === null) {
try {
room = await this.matrixClient.peekInRoom(roomId);
room = await this.matrixClient.peekInRoom(roomId) as Room;
}
catch (error) { return true; }
}
@@ -110,21 +109,22 @@ export class ChatService {
).toPromise();
console.log('LOGGED TO CHAT');
console.log({ matrixLogin });
this.matrixClient = matrix.createClient({
const ops: matrixsdk.CreateClientOption = {
baseUrl: 'http://okupamicoche-synapse:8008',
accessToken: matrixLogin.access_token,
userId: matrixLogin.user_id
});
};
this.matrixClient = matrixsdk.createClient(ops);
await this.matrixClient.startClient({ initialSyncLimit: 100 });
this.matrixClient.once('sync', (state: string, prevState: string, _: any) => {
if (state === 'PREPARED') {
console.log('CHAT SYNC FINISHED');
} else {
console.log(state);
}
});
// this.matrixClient.once('sync', (state: string, prevState: string, _: any) => {
// if (state === 'PREPARED') {
// console.log('CHAT SYNC FINISHED');
// } else {
// console.log('MATRIX CLIENT STATE CHANGED state=' + state);
// }
// });
return this.matrixClient;
}

View File

@@ -1,6 +1,5 @@
import { AfterViewInit, ChangeDetectorRef, Component, ElementRef, Input, OnInit, QueryList, ViewChild, ViewChildren } from '@angular/core';
import { MatrixEvent, RoomMember } from 'matrix-js-sdk/src/models/event';
import { ChatService } from 'src/app/services/chat.service';
import { MatrixEvent, RoomMember, ChatService } from 'src/app/services/chat.service';
@Component({

View File

@@ -12,13 +12,24 @@
"importHelpers": true,
"target": "es2015",
"module": "es2020",
"lib": ["es2018", "dom"],
"lib": [
"es2018",
"dom"
],
"strict": false,
"forceConsistentCasingInFileNames": true,
"noFallthroughCasesInSwitch": true
"noFallthroughCasesInSwitch": true,
"paths": {
"matrix-js-sdk": [
"node_modules/@types/matrix-js-sdk/index.d.ts"
]
}
},
// "exclude": [
// "node_modules/matrix-js-sdk/lib/*.d.ts"
// ],
"angularCompilerOptions": {
"strictInjectionParameters": true,
"strictTemplates": true
}
}
}