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