Skip to content

Releases: gnacho/ocnotes

v0.1.4

Choose a tag to compare

@gnacho gnacho released this 13 Sep 11:55

English

Features

  • Drag a note onto a sidebar category to assign it
  • Attachments: the Notes API v1.4 upload and download endpoints, with de-duplicated names and a 32 MiB cap, plus the editor button that uploads a file and inserts its reference and the preview that renders it
  • Warn about unsaved changes before switching notes, with Save / Discard / Cancel
  • Notes and settings are scoped per user. The schema is migrated with versioned migrations (PRAGMA user_version) and pre-existing rows are assigned to the owner configured in OCNOTES_OWNER

Fixes

  • Notes API compatibility with Iotas: capabilities answer JSON when the client asks for it, favorite is accepted as 1/0, readonly is always returned, and pruneBefore returns {"id":N} stubs instead of dropping the recently modified notes, which made the client treat them as deleted and remove them
  • Discarding on the new-note path clears the pending edits immediately
  • The create buttons Tailwind utilities are generated by the extension build instead of relying on the host compiled CSS

Notes

  • Existing installations must set OCNOTES_OWNER to the owner user id before starting; the service refuses to start otherwise, rather than leaving the existing rows invisible
  • The first start after upgrading takes a verified pre-migration backup next to the database

Español

Novedades

  • Arrastrar una nota sobre una categoría de la barra lateral para asignarla
  • Adjuntos: endpoints de subida y descarga de la API v1.4, con nombres deduplicados y tope de 32 MiB, más el botón del editor que sube el fichero e inserta su referencia y la vista previa que lo muestra
  • Aviso de cambios sin guardar antes de cambiar de nota, con Guardar / Descartar / Cancelar
  • Las notas y los ajustes están separados por usuario. El esquema se migra con migraciones versionadas (PRAGMA user_version) y las filas existentes se asignan al propietario configurado en OCNOTES_OWNER

Correcciones

  • Compatibilidad de la API con Iotas: capabilities responde JSON cuando el cliente lo pide, favorite se acepta como 1/0, readonly se devuelve siempre y pruneBefore devuelve stubs {"id":N} en vez de omitir las notas modificadas recientemente, lo que hacía que el cliente las tomara por borradas y las eliminara
  • Descartar en la ruta de nota nueva limpia los cambios pendientes al instante
  • Las utilidades Tailwind de los botones de crear las genera el build de la extensión en vez de depender del CSS compilado del host

Notas

  • Las instalaciones existentes deben definir OCNOTES_OWNER con el id del propietario antes de arrancar; el servicio se niega a arrancar en caso contrario, para no dejar las filas existentes invisibles
  • El primer arranque tras actualizar deja un backup pre-migración verificado junto a la base de datos

Refs #6, #7, #18, #20, #22, #24, #26, #28

v0.1.2

Choose a tag to compare

@gnacho gnacho released this 13 Sep 08:08

English

Features

  • Three-column UI: category sidebar, grouped note list with search and a resizable width, and a markdown editor with toolbar, undo/redo, emoji picker, category selector, star, view modes and a 760px reading column
  • Markdown preview rendered with markdown-it and sanitized with DOMPurify; links open in a new tab
  • Embedded images in the preview are served through a signed image proxy (HMAC) with an SSRF guard and a disk cache
  • Editor settings: view type, notes folder, suffix, font family and font size
  • Creating a note now asks for the title before saving anything; Escape, Cancel and a blank title create nothing
  • Deleting a note now asks for confirmation

Fixes

  • Sporadic 502s: ReadHeaderTimeout was set to 10 microseconds instead of 10 seconds
  • Creating a note no longer leaves orphan empty notes behind (the two silent auto-creates are gone)
  • Zen mode: the dead 1440px width rule is gone, the reading column stays at 760px

Español

Novedades

  • Interfaz de tres columnas: barra lateral de categorías, lista de notas agrupada con búsqueda y ancho ajustable, y editor markdown con barra de herramientas, deshacer/rehacer, selector de emojis, selector de categoría, estrella, modos de vista y columna de lectura de 760px
  • Vista previa markdown con markdown-it y saneada con DOMPurify; los enlaces abren en pestaña nueva
  • Las imágenes incrustadas en la vista previa se sirven por un proxy firmado (HMAC) con protección SSRF y caché en disco
  • Ajustes del editor: tipo de vista, carpeta de notas, sufijo, fuente y tamaño
  • Al crear una nota ahora se pide el título antes de guardar nada; Escape, Cancelar y un título en blanco no crean nada
  • Al borrar una nota ahora se pide confirmación

Correcciones

  • 502 esporádicos: ReadHeaderTimeout estaba en 10 microsegundos en vez de 10 segundos
  • Crear una nota ya no deja notas vacías huérfanas (eliminadas las dos auto-creaciones silenciosas)
  • Modo zen: eliminada la regla muerta de 1440px, la columna de lectura se mantiene en 760px

Refs #5, #9, #10, #11, #12, #13

Notes v0.1.4

Choose a tag to compare

@gnacho gnacho released this 17 Sep 10:23

Store release zip for OpenCloud App Store.

v0.1.0

Choose a tag to compare

@gnacho gnacho released this 19 Aug 17:50
c82af76

First working release.

  • Backend: Nextcloud Notes API v1.4 with Iotas compatibility (notes CRUD with If-Match etags, settings, OCS capabilities stub)
  • Web extension for OpenCloud: three views (list, editor, settings), Bearer session auth
  • Fixes: Basic auth wired to the graph endpoint (#1), 404 on every web request due to double-slash URL join (#2), app stylesheet missing from the bundle (#2)

Verified end to end in production against the public URL.