mirror of
https://github.com/vector-im/hydrogen-web.git
synced 2024-12-22 19:14:52 +01:00
wrap error and expose room id
this makes it easier to track down a (storage) error to a room
This commit is contained in:
parent
b5e7131050
commit
306309c4f8
@ -14,6 +14,17 @@ See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
export class WrappedError extends Error {
|
||||
constructor(message, cause) {
|
||||
super(`${message}: ${cause.message}`);
|
||||
this.cause = cause;
|
||||
}
|
||||
|
||||
get name() {
|
||||
return "WrappedError";
|
||||
}
|
||||
}
|
||||
|
||||
export class HomeServerError extends Error {
|
||||
constructor(method, url, body, status) {
|
||||
super(`${body ? body.error : status} on ${method} ${url}`);
|
||||
|
@ -21,6 +21,7 @@ import {GapWriter} from "./timeline/persistence/GapWriter.js";
|
||||
import {Timeline} from "./timeline/Timeline.js";
|
||||
import {FragmentIdComparer} from "./timeline/FragmentIdComparer.js";
|
||||
import {SendQueue} from "./sending/SendQueue.js";
|
||||
import {WrappedError} from "../error.js"
|
||||
|
||||
export class Room extends EventEmitter {
|
||||
constructor({roomId, storage, hsApi, emitCollectionChange, sendScheduler, pendingEvents, user}) {
|
||||
@ -67,8 +68,12 @@ export class Room extends EventEmitter {
|
||||
}
|
||||
|
||||
load(summary, txn) {
|
||||
try {
|
||||
this._summary.load(summary);
|
||||
return this._syncWriter.load(txn);
|
||||
} catch (err) {
|
||||
throw new WrappedError(`Could not load room ${this._roomId}`, err);
|
||||
}
|
||||
}
|
||||
|
||||
sendEvent(eventType, content) {
|
||||
|
Loading…
Reference in New Issue
Block a user