Skip to content

Conversation

@kulmann
Copy link
Contributor

@kulmann kulmann commented Jan 12, 2026

Description

This PR adds a new app with name notes. Needs some changes in web, which were merged via opencloud-eu/web#1817 but still need to be released.

The idea of this app is to create folders with a certain "extension" (.ocnb for the time being - OpenCloud NoteBook) which are then associated with the notes app. The notes app builds a table of contents, starting from the notebook folder as root and using all subfolders and .md files in it. A folder can be used for grouping notes, each markdown file is a note in the notebook. This is just a PoC and we might change the data format in the near future, so don't put your whole world into it, yet. 😅 But since it's just markdown you will be able to access your content later even if we change the data format.

We currently just use the TextEditor component from web-pkg, which renders an editor and a preview side by side. If you only have read access to the folder, you'll automatically only see the rendered part. Also, we're taking some effort to replace our current editor with tiptap.dev - with that we also aim for enabling collaborative editing as well.

Some visual impressions of the current state:

Screenshot 2026-01-16 at 13 38 37 Screenshot 2026-01-16 at 13 38 59 Screenshot 2026-01-16 at 13 39 40 Screenshot 2026-01-16 at 13 42 50

Types of changes

  • Bugfix
  • Enhancement (a change that doesn't break existing code or deployments)
  • Breaking change (a modification that affects current functionality)
  • Technical debt (addressing code that needs refactoring or improvements)
  • Tests (adding or improving tests)
  • Documentation (updates or additions to documentation)
  • Maintenance (like dependency updates or tooling adjustments)

@kulmann kulmann force-pushed the web-app-notes branch 8 times, most recently from 3bb06bf to 2527e3f Compare January 22, 2026 12:38
@kulmann kulmann marked this pull request as ready for review January 22, 2026 12:38
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces a new notes application that enables users to create and manage markdown-based notebooks within OpenCloud. Notebooks are represented as folders with the .ocnb extension, containing markdown files as individual notes organized in a hierarchical folder structure.

Changes:

  • Added a complete notes application with notebook management, table of contents navigation, and markdown editing capabilities
  • Implemented drag-and-drop functionality for organizing notes and folders within notebooks
  • Integrated SSE (Server-Sent Events) for real-time synchronization of notebook changes across clients

Reviewed changes

Copilot reviewed 34 out of 37 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
packages/web-app-notes/package.json Defines the notes app package with dependencies including pinia, vue-concurrency, and zod
packages/web-app-notes/src/index.ts Main application entry point defining routes, app info, and menu items
packages/web-app-notes/src/views/View.vue Primary view component handling notebook rendering, document editing, and unsaved changes protection
packages/web-app-notes/src/views/Overview.vue Overview page for listing all notebooks (currently placeholder implementation)
packages/web-app-notes/src/composables/stores/*.ts Pinia stores managing notebook, table of contents, and document state
packages/web-app-notes/src/composables/actions/*.ts Action composables for creating, opening, and saving notes and folders
packages/web-app-notes/src/composables/useSSE.ts SSE event handlers for real-time notebook synchronization
packages/web-app-notes/src/composables/useDragAndDrop.ts Drag-and-drop functionality for reorganizing notes within notebooks
packages/web-app-notes/src/components/*.vue UI components for table of contents, context menus, and empty states
docker-compose.yml Added volume mount for the notes app distribution
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@kulmann kulmann requested a review from JammingBen January 23, 2026 13:03
Copy link
Contributor

@JammingBen JammingBen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's go 🚀

@kulmann kulmann merged commit c837010 into main Jan 23, 2026
5 checks passed
@kulmann kulmann deleted the web-app-notes branch January 23, 2026 13:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants