Merged
Conversation
ba9653d to
d7d6746
Compare
7 tasks
3bb06bf to
2527e3f
Compare
2527e3f to
126ec87
Compare
Contributor
There was a problem hiding this comment.
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.
packages/web-app-notes/src/composables/stores/useNotebookStore.ts
Outdated
Show resolved
Hide resolved
JammingBen
reviewed
Jan 22, 2026
packages/web-app-notes/src/composables/stores/useNotebookStore.ts
Outdated
Show resolved
Hide resolved
packages/web-app-notes/src/composables/stores/useNotebookStore.ts
Outdated
Show resolved
Hide resolved
f76cecd to
98dec97
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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" (
.ocnbfor 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:
Types of changes