## Bug Fixes ### Note Card Actions - Fix broken size change functionality (missing state declaration) - Implement React 19 useOptimistic for instant UI feedback - Add startTransition for non-blocking updates - Ensure smooth animations without page refresh - All note actions now work: pin, archive, color, size, checklist ### Markdown LaTeX Rendering - Add remark-math and rehype-katex plugins - Support inline equations with dollar sign syntax - Support block equations with double dollar sign syntax - Import KaTeX CSS for proper styling - Equations now render correctly instead of showing raw LaTeX ## Technical Details - Replace undefined currentNote references with optimistic state - Add optimistic updates before server actions for instant feedback - Use router.refresh() in transitions for smart cache invalidation - Install remark-math, rehype-katex, and katex packages ## Testing - Build passes successfully with no TypeScript errors - Dev server hot-reloads changes correctly
40 lines
708 B
Docker
40 lines
708 B
Docker
# Base image
|
|
FROM node:20-alpine
|
|
|
|
# Install dependencies
|
|
WORKDIR /app
|
|
|
|
# Copy package files
|
|
COPY package*.json ./
|
|
|
|
# Install dependencies
|
|
RUN npm ci --only=production
|
|
|
|
# Copy application code
|
|
COPY . .
|
|
|
|
# Copy Prisma schema and client
|
|
COPY prisma ./prisma
|
|
|
|
# Create non-root user
|
|
RUN addgroup -g 1001 -S mcp && \
|
|
adduser -u 1001 -S mcp -G mcp
|
|
|
|
# Create database directory
|
|
RUN mkdir -p /app/db && \
|
|
chown -R mcp:mcp /app
|
|
|
|
USER mcp
|
|
|
|
WORKDIR /app
|
|
|
|
# Expose (not needed for stdio, but useful for SSE variant)
|
|
EXPOSE 3000
|
|
|
|
# Health check
|
|
HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 \
|
|
CMD node -e "console.log('healthy')" || exit 1
|
|
|
|
# Start MCP server
|
|
CMD ["node", "index.js"]
|