fix: Add default sort value to create_collection
Collections without sort field cause frontend error:
"Cannot read properties of null (reading 'field')"
Now sets {"field": "index", "direction": "asc"} as default.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -2,6 +2,15 @@
|
||||
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
## [1.3.8] - 2026-01-31
|
||||
|
||||
### Fixed
|
||||
|
||||
- **Collection Sort Field:** `create_collection` now sets default `sort` value
|
||||
- Was: `sort` column left NULL, causing frontend error "Cannot read properties of null (reading 'field')"
|
||||
- Now: Sets `{"field": "index", "direction": "asc"}` as default
|
||||
- Outline frontend requires this field to render collections
|
||||
|
||||
## [1.3.7] - 2026-01-31
|
||||
|
||||
### Fixed
|
||||
|
||||
@@ -6,7 +6,7 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
|
||||
|
||||
MCP server for direct PostgreSQL access to Outline Wiki database. Follows patterns established by `mcp-desk-crm-sql-v3`.
|
||||
|
||||
**Version:** 1.3.7
|
||||
**Version:** 1.3.8
|
||||
**Total Tools:** 164 tools across 33 modules
|
||||
**Production:** hub.descomplicar.pt (via SSH tunnel)
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# MCP Outline PostgreSQL - Continuacao de Testes
|
||||
|
||||
**Ultima Sessao:** 2026-01-31 (actualizado)
|
||||
**Versao Actual:** 1.3.7
|
||||
**Versao Actual:** 1.3.8
|
||||
**Progresso:** ~95/164 tools testadas (58%) - **CÓDIGO VALIDADO**
|
||||
|
||||
---
|
||||
|
||||
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "mcp-outline-postgresql",
|
||||
"version": "1.3.7",
|
||||
"version": "1.3.8",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "mcp-outline-postgresql",
|
||||
"version": "1.3.7",
|
||||
"version": "1.3.8",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@modelcontextprotocol/sdk": "^1.0.0",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "mcp-outline-postgresql",
|
||||
"version": "1.3.7",
|
||||
"version": "1.3.8",
|
||||
"description": "MCP Server for Outline Wiki via PostgreSQL direct access",
|
||||
"main": "dist/index.js",
|
||||
"scripts": {
|
||||
|
||||
@@ -68,7 +68,7 @@ async function main() {
|
||||
JSON.stringify({
|
||||
status: 'ok',
|
||||
transport: 'streamable-http',
|
||||
version: '1.3.7',
|
||||
version: '1.3.8',
|
||||
sessions: sessions.size,
|
||||
stateful: STATEFUL,
|
||||
tools: allTools.length
|
||||
@@ -101,7 +101,7 @@ async function main() {
|
||||
// Create MCP server
|
||||
const server = createMcpServer(pgClient.getPool(), {
|
||||
name: 'mcp-outline-http',
|
||||
version: '1.3.7'
|
||||
version: '1.3.8'
|
||||
});
|
||||
|
||||
// Track session if stateful
|
||||
|
||||
@@ -39,7 +39,7 @@ async function main() {
|
||||
// Create MCP server with shared configuration
|
||||
const server = createMcpServer(pgClient.getPool(), {
|
||||
name: 'mcp-outline-postgresql',
|
||||
version: '1.3.7'
|
||||
version: '1.3.8'
|
||||
});
|
||||
|
||||
// Connect stdio transport
|
||||
|
||||
@@ -122,7 +122,7 @@ export function createMcpServer(
|
||||
): Server {
|
||||
const server = new Server({
|
||||
name: config.name || 'mcp-outline-postgresql',
|
||||
version: config.version || '1.3.7'
|
||||
version: config.version || '1.3.8'
|
||||
});
|
||||
|
||||
// Set capabilities (required for MCP v2.2+)
|
||||
|
||||
@@ -272,12 +272,12 @@ export const collectionsTools: BaseTool<any>[] = [
|
||||
const query = `
|
||||
INSERT INTO collections (
|
||||
id, name, "urlId", "teamId", "createdById", description, icon, color,
|
||||
permission, sharing, "maintainerApprovalRequired", index, "createdAt", "updatedAt"
|
||||
permission, sharing, "maintainerApprovalRequired", index, sort, "createdAt", "updatedAt"
|
||||
)
|
||||
VALUES (gen_random_uuid(), $1, $2, $3, $4, $5, $6, $7, $8, $9, false, $10, NOW(), NOW())
|
||||
VALUES (gen_random_uuid(), $1, $2, $3, $4, $5, $6, $7, $8, $9, false, $10, '{"field": "index", "direction": "asc"}', NOW(), NOW())
|
||||
RETURNING
|
||||
id, "urlId", name, description, icon, color, index, permission,
|
||||
sharing, "teamId", "createdById", "createdAt", "updatedAt"
|
||||
sharing, "teamId", "createdById", "createdAt", "updatedAt", sort
|
||||
`;
|
||||
|
||||
const result = await pool.query(query, [
|
||||
|
||||
Reference in New Issue
Block a user