Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion packages/federation-sdk/src/services/config.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ export class ConfigService {
if (error instanceof z.ZodError) {
this.logger.error({
msg: 'Configuration validation failed:',
details: error.errors,
err: error,
});
throw new Error(
`Invalid configuration: ${error.errors.map((e) => `${e.path.join('.')}: ${e.message}`).join(', ')}`,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export class DatabaseConnectionService {

constructor(private readonly configService: ConfigService) {
this.connect().catch((err) =>
this.logger.error(`Initial database connection failed: ${err.message}`),
this.logger.error({ msg: 'Initial database connection failed', err }),
);
}

Expand Down Expand Up @@ -53,8 +53,7 @@ export class DatabaseConnectionService {

resolve();
} catch (error: unknown) {
const message = error instanceof Error ? error.message : String(error);
this.logger.error(`Failed to connect to MongoDB: ${message}`);
this.logger.error({ msg: 'Failed to connect to MongoDB', err: error });
this.connectionPromise = null;
reject(new Error('Database connection failed'));
}
Expand Down
14 changes: 8 additions & 6 deletions packages/federation-sdk/src/services/edu.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,9 +43,10 @@ export class EduService {
`Sent typing notification to ${uniqueServers.length} unique servers for room ${roomId}`,
);
} catch (error) {
this.logger.error(
`Failed to send typing notification: ${error instanceof Error ? error.message : String(error)}`,
);
this.logger.error({
msg: 'Failed to send typing notification',
err: error,
});
throw error;
}
}
Expand Down Expand Up @@ -81,9 +82,10 @@ export class EduService {
`Sent presence updates to ${uniqueServers.size} unique servers for ${roomIds.length} rooms`,
);
} catch (error) {
this.logger.error(
`Failed to send presence update to rooms: ${error instanceof Error ? error.message : String(error)}`,
);
this.logger.error({
msg: 'Failed to send presence update to rooms',
err: error,
});
throw error;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,10 @@ export class EventAuthorizationService {

return origin;
} catch (error) {
this.logger.error(error, 'Error verifying request signature');
this.logger.error({
msg: 'Error verifying request signature',
err: error,
});
return;
}
}
Expand Down Expand Up @@ -423,10 +426,15 @@ export class EventAuthorizationService {
authorized: true,
};
} catch (error) {
this.logger.error(
{ error, eventId, authorizationHeader, method, uri, body },
'Error checking event access',
);
this.logger.error({
err: error,
eventId,
authorizationHeader,
method,
uri,
body,
msg: 'Error checking event access',
});
return {
authorized: false,
errorCode: 'M_UNKNOWN',
Expand Down Expand Up @@ -477,10 +485,14 @@ export class EventAuthorizationService {
authorized: true,
};
} catch (error) {
this.logger.error(
{ error, mediaId, authorizationHeader, method, uri },
'Error checking media access',
);
this.logger.error({
err: error,
mediaId,
authorizationHeader,
method,
uri,
msg: 'Error checking media access',
});
return {
authorized: false,
errorCode: 'M_UNKNOWN',
Expand Down
3 changes: 0 additions & 3 deletions packages/federation-sdk/src/services/event-fetcher.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -123,9 +123,6 @@ export class EventFetcherService {
this.logger.error({
msg: 'Error fetching events from federation',
err: error,
});
this.logger.debug({
msg: 'Failed federation request details',
eventIds,
targetServerName,
});
Expand Down
8 changes: 5 additions & 3 deletions packages/federation-sdk/src/services/event.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -294,9 +294,11 @@ export class EventService {
try {
await this.processEDU(edu);
} catch (error) {
this.logger.error(
`Error processing EDU of type ${edu.edu_type}: ${error instanceof Error ? error.message : String(error)}`,
);
this.logger.error({
msg: 'Error processing incoming EDU',
edu,
err: error,
});
// Continue processing other EDUs even if one fails
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,9 +113,10 @@ export class FederationRequestService {

return response;
} catch (err) {
this.logger.error(
`Federation request failed: ${err instanceof Error ? err.message : String(err)}`,
);
this.logger.error({
msg: 'Error making signed federation request',
err,
});
throw err;
}
}
Expand Down
8 changes: 5 additions & 3 deletions packages/federation-sdk/src/services/missing-event.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,11 @@ export class MissingEventService {

return true;
} catch (err: unknown) {
this.logger.error(
`Error fetching missing event ${eventId}: ${err instanceof Error ? err.message : String(err)}`,
);
this.logger.error({
msg: 'Error fetching missing event',
eventId,
err,
});
return false;
}
}
Expand Down
36 changes: 21 additions & 15 deletions packages/federation-sdk/src/services/room.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1035,30 +1035,34 @@ export class RoomService {
return previousEvents;
}

const logContext = () => ({
this.logger.info({
msg: 'failed to fetch and process some events',
roomId,
branchEventId: context.event.eventId,
missing,
});

this.logger.info(logContext(), 'failed to fetch and process some events');

if (serverList.length === 0) {
this.logger.warn(
logContext(),
'not enough servers participating in the room to retry missing events',
);
this.logger.warn({
msg: 'not enough servers participating in the room to retry missing events',
roomId,
branchEventId: context.event.eventId,
missing,
});

throw new Error();
}

for (let i = 0; i < serverList.length && missing.length > 0; i++) {
const askingServer = serverList[i];

this.logger.warn(
logContext(),
`attempting to fetch events from participating server ${askingServer}`,
);
this.logger.warn({
msg: 'attempting to fetch events from participating server',
askingServer,
roomId,
branchEventId: context.event.eventId,
missing,
});

const { events, missing: stillMissing } = await this._fetchMissingEvents(
missing,
Expand All @@ -1072,10 +1076,12 @@ export class RoomService {
}

if (missing.length > 0) {
this.logger.error(
logContext(),
'server list exhausted, we still have missing events',
);
this.logger.error({
msg: 'server list exhausted, we still have missing events',
roomId,
branchEventId: context.event.eventId,
missing,
});

throw new Error();
}
Expand Down
21 changes: 10 additions & 11 deletions packages/federation-sdk/src/services/state.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -470,13 +470,11 @@ export class StateService {
try {
await checkEventAuthWithState(event, authState, store);
} catch (error) {
this.logger.error(
{
eventId: event.eventId,
authEvents: event.getAuthEventIds(),
},
'event failed auth check while saving state, this should not have happened while walking an auth chain, the chain is incorrect',
);
this.logger.error({
eventId: event.eventId,
authEvents: event.getAuthEventIds(),
msg: 'event failed auth check while saving state, this should not have happened while walking an auth chain, the chain is incorrect',
});

// propagating throw, at this point this is not supposed to fail, something is wrong with the state we received
throw error;
Expand Down Expand Up @@ -790,10 +788,11 @@ export class StateService {
servers.add(server);
}
} catch (error) {
this.logger.error(
{ error, eventId: event.eventId },
'error extracting server',
);
this.logger.error({
err: error,
eventId: event.eventId,
msg: 'error extracting server',
});
}
}

Expand Down