fix: Add editorVersion field for document visibility

Documents without editorVersion='15.0.0' return "Not found" in Outline.
This was the missing field causing MCP-created documents to fail.

- Added editorVersion column to INSERT statement
- Set to '15.0.0' (current Outline editor version)
- v1.3.17

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-01 13:10:33 +00:00
parent d1561195bf
commit 1e462b5c49
6 changed files with 16 additions and 7 deletions

View File

@@ -2,6 +2,14 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
## [1.3.17] - 2026-02-01
### Fixed
- **Document editorVersion:** Added missing `editorVersion` field set to `15.0.0`
- Documents without this field return "Not found" in Outline
- Critical fix for document visibility
## [1.3.16] - 2026-02-01 ## [1.3.16] - 2026-02-01
### Added ### Added

View File

@@ -1,6 +1,6 @@
{ {
"name": "mcp-outline-postgresql", "name": "mcp-outline-postgresql",
"version": "1.3.16", "version": "1.3.17",
"description": "MCP Server for Outline Wiki via PostgreSQL direct access", "description": "MCP Server for Outline Wiki via PostgreSQL direct access",
"main": "dist/index.js", "main": "dist/index.js",
"scripts": { "scripts": {

View File

@@ -68,7 +68,7 @@ async function main() {
JSON.stringify({ JSON.stringify({
status: 'ok', status: 'ok',
transport: 'streamable-http', transport: 'streamable-http',
version: '1.3.16', version: '1.3.17',
sessions: sessions.size, sessions: sessions.size,
stateful: STATEFUL, stateful: STATEFUL,
tools: allTools.length tools: allTools.length
@@ -101,7 +101,7 @@ async function main() {
// Create MCP server // Create MCP server
const server = createMcpServer(pgClient.getPool(), { const server = createMcpServer(pgClient.getPool(), {
name: 'mcp-outline-http', name: 'mcp-outline-http',
version: '1.3.16' version: '1.3.17'
}); });
// Track session if stateful // Track session if stateful

View File

@@ -39,7 +39,7 @@ async function main() {
// Create MCP server with shared configuration // Create MCP server with shared configuration
const server = createMcpServer(pgClient.getPool(), { const server = createMcpServer(pgClient.getPool(), {
name: 'mcp-outline-postgresql', name: 'mcp-outline-postgresql',
version: '1.3.16' version: '1.3.17'
}); });
// Connect stdio transport // Connect stdio transport

View File

@@ -122,7 +122,7 @@ export function createMcpServer(
): Server { ): Server {
const server = new Server({ const server = new Server({
name: config.name || 'mcp-outline-postgresql', name: config.name || 'mcp-outline-postgresql',
version: config.version || '1.3.16' version: config.version || '1.3.17'
}); });
// Set capabilities (required for MCP v2.2+) // Set capabilities (required for MCP v2.2+)

View File

@@ -248,13 +248,14 @@ const createDocument: BaseTool<CreateDocumentArgs> = {
INSERT INTO documents ( INSERT INTO documents (
id, "urlId", title, text, "collectionId", "teamId", "parentDocumentId", "createdById", id, "urlId", title, text, "collectionId", "teamId", "parentDocumentId", "createdById",
"lastModifiedById", template, "publishedAt", "createdAt", "updatedAt", version, "lastModifiedById", template, "publishedAt", "createdAt", "updatedAt", version,
"isWelcome", "fullWidth", "insightsEnabled", "collaboratorIds", "revisionCount", content "isWelcome", "fullWidth", "insightsEnabled", "collaboratorIds", "revisionCount", content,
"editorVersion"
) )
VALUES ( VALUES (
gen_random_uuid(), gen_random_uuid(),
substring(md5(random()::text) from 1 for 10), substring(md5(random()::text) from 1 for 10),
$1, $2, $3, $4, $5, $6, $7, $8, $9, NOW(), NOW(), 1, false, false, false, ARRAY[$6]::uuid[], $1, $2, $3, $4, $5, $6, $7, $8, $9, NOW(), NOW(), 1, false, false, false, ARRAY[$6]::uuid[],
1, $10::jsonb 1, $10::jsonb, '15.0.0'
) )
RETURNING id, "urlId", title, "collectionId", "publishedAt", "createdAt" RETURNING id, "urlId", title, "collectionId", "publishedAt", "createdAt"
`; `;