Compare commits

...

5 Commits

Author SHA1 Message Date
Philipinho 3e69924448 cleanup 2025-04-29 23:28:42 +01:00
Philipinho 3b5fee05c1 Handle unhandled exceptions 2025-04-29 23:25:53 +01:00
Philipinho 9bbd62e0f0 v0.20.3 2025-04-24 23:22:53 +01:00
Philipinho 0289c5cb09 Reduce markdown checkbox space 2025-04-24 23:19:39 +01:00
Philip Okugbe 7993532111 fix page export (#1081) 2025-04-24 23:18:54 +01:00
8 changed files with 25 additions and 13 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
{ {
"name": "client", "name": "client",
"private": true, "private": true,
"version": "0.20.2", "version": "0.20.3",
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",
"build": "tsc && vite build", "build": "tsc && vite build",
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "server", "name": "server",
"version": "0.20.2", "version": "0.20.3",
"description": "", "description": "",
"author": "", "author": "",
"private": true, "private": true,
@@ -1,4 +1,4 @@
import { Module, OnModuleDestroy, OnModuleInit } from '@nestjs/common'; import { Logger, Module, OnModuleDestroy, OnModuleInit } from '@nestjs/common';
import { AuthenticationExtension } from './extensions/authentication.extension'; import { AuthenticationExtension } from './extensions/authentication.extension';
import { PersistenceExtension } from './extensions/persistence.extension'; import { PersistenceExtension } from './extensions/persistence.extension';
import { CollaborationGateway } from './collaboration.gateway'; import { CollaborationGateway } from './collaboration.gateway';
@@ -22,6 +22,7 @@ import { LoggerExtension } from './extensions/logger.extension';
imports: [TokenModule], imports: [TokenModule],
}) })
export class CollaborationModule implements OnModuleInit, OnModuleDestroy { export class CollaborationModule implements OnModuleInit, OnModuleDestroy {
private readonly logger = new Logger(CollaborationModule.name);
private collabWsAdapter: CollabWsAdapter; private collabWsAdapter: CollabWsAdapter;
private path = '/collab'; private path = '/collab';
@@ -38,7 +39,15 @@ export class CollaborationModule implements OnModuleInit, OnModuleDestroy {
wss.on('connection', (client: WebSocket, request: IncomingMessage) => { wss.on('connection', (client: WebSocket, request: IncomingMessage) => {
this.collaborationGateway.handleConnection(client, request); this.collaborationGateway.handleConnection(client, request);
client.on('error', (error) => {
this.logger.error('WebSocket client error:', error);
});
}); });
wss.on('error', (error) =>
this.logger.log('WebSocket server error:', error),
);
} }
async onModuleDestroy(): Promise<void> { async onModuleDestroy(): Promise<void> {
@@ -130,7 +130,7 @@ export class PersistenceExtension implements Extension {
); );
this.contributors.delete(documentName); this.contributors.delete(documentName);
} catch (err) { } catch (err) {
this.logger.log('Contributors error:' + err?.['message']); this.logger.debug('Contributors error:' + err?.['message']);
} }
await this.pageRepo.updatePage( await this.pageRepo.updatePage(
@@ -244,7 +244,7 @@ export class PageRepo {
'p.spaceId', 'p.spaceId',
'p.workspaceId', 'p.workspaceId',
]) ])
.$if(opts?.includeContent, (qb) => qb.select('content')) .$if(opts?.includeContent, (qb) => qb.select('p.content'))
.innerJoin('page_hierarchy as ph', 'p.parentPageId', 'ph.id'), .innerJoin('page_hierarchy as ph', 'p.parentPageId', 'ph.id'),
), ),
) )
@@ -68,7 +68,7 @@ function taskList(turndownService: TurndownService) {
) as HTMLInputElement; ) as HTMLInputElement;
const isChecked = checkbox.checked; const isChecked = checkbox.checked;
return `- ${isChecked ? '[x]' : '[ ]'} ${content.trim()} \n`; return `- ${isChecked ? '[x]' : '[ ]'} ${content.trim()} \n`;
}, },
}); });
} }
+9 -6
View File
@@ -4,12 +4,7 @@ import {
FastifyAdapter, FastifyAdapter,
NestFastifyApplication, NestFastifyApplication,
} from '@nestjs/platform-fastify'; } from '@nestjs/platform-fastify';
import { import { Logger, NotFoundException, ValidationPipe } from '@nestjs/common';
Logger,
NotFoundException,
RequestMethod,
ValidationPipe,
} from '@nestjs/common';
import { TransformHttpResponseInterceptor } from './common/interceptors/http-response.interceptor'; import { TransformHttpResponseInterceptor } from './common/interceptors/http-response.interceptor';
import { WsRedisIoAdapter } from './ws/adapter/ws-redis.adapter'; import { WsRedisIoAdapter } from './ws/adapter/ws-redis.adapter';
import { InternalLogFilter } from './common/logger/internal-log-filter'; import { InternalLogFilter } from './common/logger/internal-log-filter';
@@ -92,6 +87,14 @@ async function bootstrap() {
const logger = new Logger('NestApplication'); const logger = new Logger('NestApplication');
process.on('unhandledRejection', (reason, promise) => {
logger.error(`UnhandledRejection: ${promise}, reason: ${reason}`);
});
process.on('uncaughtException', (error) => {
logger.error('UncaughtException:', error);
});
const port = process.env.PORT || 3000; const port = process.env.PORT || 3000;
await app.listen(port, '0.0.0.0', () => { await app.listen(port, '0.0.0.0', () => {
logger.log( logger.log(
+1 -1
View File
@@ -1,7 +1,7 @@
{ {
"name": "docmost", "name": "docmost",
"homepage": "https://docmost.com", "homepage": "https://docmost.com",
"version": "0.20.2", "version": "0.20.3",
"private": true, "private": true,
"scripts": { "scripts": {
"build": "nx run-many -t build", "build": "nx run-many -t build",