Skip to content

Releases: UCSB-AMPLab/telar-compositor

Telar Compositor v1.3.6-beta

12 Jun 04:21
433a5d6

Choose a tag to compare

A localization and labelling fix release.

Versión en español abajo

Fixes

  • Activity feed reads correctly in Spanish — Action words (edited, added…)
    and item types (story, settings…) in the Start-tab activity feed now translate,
    and the feed shows a setting's friendly name or an item's title instead of a
    raw internal identifier.

  • Object usage counts are per-project — The "used in N steps" count on the
    Objects tab now counts only the steps in your own project, instead of adding up
    references across every project that shares an object identifier.

  • Untitled items show a label, not an identifier — Objects, stories, pages,
    and terms with no title now show "Untitled" wherever they are listed, rather
    than their internal slug or id.

  • More of the interface in Spanish — The sync review dialogs, accessibility
    labels, and a range of buttons, field labels, and placeholders that were
    English-only are now fully translated.

Upgrade

This release contains no database changes. For users running their own copy of the
compositor:

  1. Pull the new release
  2. Deploy: npm run deploy (the smoke test runs automatically)

Documentation

Acknowledgments

Telar is developed by Adelaida Ávila, Juan Cobo Betancourt, Natalie Cobo, Santiago
Muñoz, and students and scholars at the UCSB Archives, Memory, and Preservation Lab,
the UT Archives, Mapping, and Pedagogy Lab, and Neogranadina.

We gratefully acknowledge the support of the Caribbean Digital Scholarship Collective,
the Center for Innovative Teaching, Research, and Learning (CITRAL) at the University
of California, Santa Barbara, the UCSB Library, the Routes of Enslavement in the
Americas University of California MRPI, and the Department of History of The University
of Texas at Austin.


Español

Una versión de correcciones de localización y de etiquetas.

Correcciones

  • La actividad reciente se lee bien en español — Las acciones (editó,
    agregó…) y los tipos de elemento (historia, configuración…) en la actividad
    reciente de la pestaña Inicio ahora se traducen, y la actividad muestra el
    nombre claro de una configuración o el título de un elemento en lugar de un
    identificador interno.

  • Los conteos de uso de los objetos son por proyecto — En la pestaña Objetos,
    el indicador «Se usa en N pasos» ahora cuenta solo los pasos de tu propio
    proyecto, en lugar de sumar las referencias de todos los proyectos que comparten
    el mismo identificador de objeto.

  • Los elementos sin título muestran una etiqueta, no un identificador — Los
    objetos, las historias, las páginas y los términos sin título ahora muestran
    «Sin título» dondequiera que aparezcan, en lugar de su slug o su id interno.

  • Más interfaz en español — Las ventanas de revisión de sincronización, las
    etiquetas de accesibilidad y varios botones, campos y textos de ejemplo que
    estaban solo en inglés ahora están completamente traducidos.

Actualización

Esta versión no incluye cambios en la base de datos. Para quienes ejecutan su propia
copia del Compositor:

  1. Descarga la nueva versión
  2. Despliega: npm run deploy (el smoke test se ejecuta automáticamente)

Documentación

Agradecimientos

Telar es desarrollado por Adelaida Ávila, Juan Cobo Betancourt, Natalie Cobo, Santiago
Muñoz, y estudiantes e investigadores del UCSB Archives, Memory, and Preservation Lab,
el UT Archives, Mapping, and Pedagogy Lab, y Neogranadina.

Agradecemos el apoyo del Caribbean Digital Scholarship Collective, el Center for
Innovative Teaching, Research, and Learning (CITRAL) de la University of California,
Santa Barbara, la UCSB Library, el Routes of Enslavement in the Americas University of
California MRPI, y el Departamento de Historia de la Universidad de Texas en Austin.


Release Date: 2026-06-11
Previous Version: v1.3.5-beta

Telar Compositor v1.3.5-beta

11 Jun 06:19
cd10e7f

Choose a tag to compare

A reliability fix release for the glossary and publishing.

Versión en español abajo

Fixes

  • Glossary term ID renames now persist — Renaming the identifier a term uses
    in its [[...]] links could be lost on the next sync, leaving published links
    pointing at the old ID. Renames are now saved reliably. The same fix applies to
    object IDs.

  • Duplicate glossary terms keep their definitions — When two terms ended up
    sharing the same identifier, saving could drop one of them along with its
    definition. Both terms are now preserved, with one automatically given a unique
    identifier.

  • Renaming a page removes the old file on publish — Changing a page's address
    left an orphaned copy of the old page in your repository. Publishing now deletes
    the stale file.

Upgrade

This release contains no database changes. For users running their own copy of the
compositor:

  1. Pull the new release
  2. Deploy: npm run deploy (the smoke test runs automatically)

Documentation

Acknowledgments

Telar is developed by Adelaida Ávila, Juan Cobo Betancourt, Natalie Cobo, Santiago
Muñoz, and students and scholars at the UCSB Archives, Memory, and Preservation Lab,
the UT Archives, Mapping, and Pedagogy Lab, and Neogranadina.

We gratefully acknowledge the support of the Caribbean Digital Scholarship Collective,
the Center for Innovative Teaching, Research, and Learning (CITRAL) at the University
of California, Santa Barbara, the UCSB Library, the Routes of Enslavement in the
Americas University of California MRPI, and the Department of History of The University
of Texas at Austin.

Thank you Olympia Marino!


Español

Una versión de correcciones de confiabilidad para el glosario y la publicación.

Correcciones

  • El cambio de identificador de un término del glosario ahora se conserva — Al
    renombrar el identificador que un término usa en sus enlaces [[...]], el cambio
    podía perderse en la siguiente sincronización y los enlaces publicados quedaban
    apuntando al identificador anterior. Ahora el cambio se guarda de forma confiable.
    Lo mismo aplica a los identificadores de los objetos.

  • Los términos duplicados del glosario conservan su definición — Cuando dos
    términos quedaban con el mismo identificador, al guardar se podía perder uno junto
    con su definición. Ahora se conservan ambos términos y a uno se le asigna
    automáticamente un identificador único.

  • Al renombrar una página se elimina el archivo anterior al publicar — Cambiar la
    dirección de una página dejaba una copia vieja de la página en el repositorio. Ahora,
    al publicar, se elimina ese archivo obsoleto.

Actualización

Esta versión no incluye cambios en la base de datos. Para quienes ejecutan su propia
copia del Compositor:

  1. Descarga la nueva versión
  2. Despliega: npm run deploy (el smoke test se ejecuta automáticamente)

Documentación

Agradecimientos

Telar es desarrollado por Adelaida Ávila, Juan Cobo Betancourt, Natalie Cobo, Santiago
Muñoz, y estudiantes e investigadores del UCSB Archives, Memory, and Preservation Lab,
el UT Archives, Mapping, and Pedagogy Lab, y Neogranadina.

Agradecemos el apoyo del Caribbean Digital Scholarship Collective, el Center for
Innovative Teaching, Research, and Learning (CITRAL) de la University of California,
Santa Barbara, la UCSB Library, el Routes of Enslavement in the Americas University of
California MRPI, y el Departamento de Historia de la Universidad de Texas en Austin.

¡Gracias, Olympia Marino!


Release Date: 2026-06-10
Previous Version: v1.3.4-beta

Telar Compositor v1.3.4-beta

10 Jun 20:46
a56002a

Choose a tag to compare

Telar Compositor v1.3.4-beta

A follow-up fix for the glossary editor.

Versión en español abajo

Fixes

  • Glossary definitions now save in full — Typing a term's definition could
    lose everything after the first character or two. Definitions are now captured
    completely as you type.

Upgrade

For users running their own copy of the compositor:

  1. Pull the new release
  2. Deploy: npm run deploy (the smoke test runs automatically)

No new D1 migrations, environment variables, or bindings this release.

Documentation

Acknowledgments

Telar is developed by Adelaida Ávila, Juan Cobo Betancourt, Natalie Cobo, Santiago
Muñoz, and students and scholars at the UCSB Archives, Memory, and Preservation
Lab, the UT Archives, Mapping, and Pedagogy Lab, and Neogranadina.

We gratefully acknowledge the support of the Caribbean Digital Scholarship
Collective, the Center for Innovative Teaching, Research, and Learning (CITRAL) at
the University of California, Santa Barbara, the UCSB Library, the Routes of
Enslavement in the Americas University of California MRPI, and the Department of
History of The University of Texas at Austin.


Español

Un arreglo adicional para el editor de glosario.

Correcciones

  • Las definiciones del glosario ahora se guardan completas — Al escribir la
    definición de un término se perdía todo menos la primera letra o dos. Ahora la
    definición se guarda completa a medida que escribes.

Actualización

Para quienes ejecutan su propia copia del compositor:

  1. Descarga la nueva versión
  2. Despliega: npm run deploy (el smoke test corre automáticamente)

Esta versión no agrega migraciones de D1, variables de entorno ni bindings.

Documentación

Agradecimientos

Telar es desarrollado por Adelaida Ávila, Juan Cobo Betancourt, Natalie Cobo,
Santiago Muñoz, y estudiantes e investigadores del UCSB Archives, Memory, and
Preservation Lab, el UT Archives, Mapping, and Pedagogy Lab, y Neogranadina.

Agradecemos el apoyo del Caribbean Digital Scholarship Collective, el Center for
Innovative Teaching, Research, and Learning (CITRAL) de la University of
California, Santa Barbara, la UCSB Library, el Routes of Enslavement in the
Americas University of California MRPI, y el Departamento de Historia de la
Universidad de Texas en Austin.

Telar Compositor v1.3.3-beta

10 Jun 18:52
b317280

Choose a tag to compare

Telar Compositor v1.3.3-beta

A small fix release for the glossary editor.

Versión en español abajo

Fixes

  • Glossary definitions no longer lose text while you type — Editing a
    newly-created term's definition could drop everything after the first
    character or two when the term was first saved in the background. The editor
    now keeps the term selected through that save, so your definition is typed and
    saved in full.

Upgrade

For users running their own copy of the compositor:

  1. Pull the new release
  2. Deploy: npm run deploy (the smoke test runs automatically)

No new D1 migrations, environment variables, or bindings this release.

Documentation

Acknowledgments

Telar is developed by Adelaida Ávila, Juan Cobo Betancourt, Natalie Cobo, Santiago
Muñoz, and students and scholars at the UCSB Archives, Memory, and Preservation
Lab, the UT Archives, Mapping, and Pedagogy Lab, and Neogranadina.

We gratefully acknowledge the support of the Caribbean Digital Scholarship
Collective, the Center for Innovative Teaching, Research, and Learning (CITRAL) at
the University of California, Santa Barbara, the UCSB Library, the Routes of
Enslavement in the Americas University of California MRPI, and the Department of
History of The University of Texas at Austin.


Español

Una versión pequeña que arregla el editor de glosario.

Correcciones

  • Las definiciones del glosario ya no pierden texto mientras escribes — Al
    escribir la definición de un término recién creado, se perdía todo menos la
    primera letra o dos cuando el término se guardaba por primera vez en segundo
    plano. Ahora el editor mantiene seleccionado el término durante ese guardado,
    así que la definición se escribe y se guarda completa.

Actualización

Para quienes ejecutan su propia copia del compositor:

  1. Descarga la nueva versión
  2. Despliega: npm run deploy (el smoke test corre automáticamente)

Esta versión no agrega migraciones de D1, variables de entorno ni bindings.

Documentación

Agradecimientos

Telar es desarrollado por Adelaida Ávila, Juan Cobo Betancourt, Natalie Cobo,
Santiago Muñoz, y estudiantes e investigadores del UCSB Archives, Memory, and
Preservation Lab, el UT Archives, Mapping, and Pedagogy Lab, y Neogranadina.

Agradecemos el apoyo del Caribbean Digital Scholarship Collective, el Center for
Innovative Teaching, Research, and Learning (CITRAL) de la University of
California, Santa Barbara, la UCSB Library, el Routes of Enslavement in the
Americas University of California MRPI, y el Departamento de Historia de la
Universidad de Texas en Austin.

Telar Compositor v1.3.2-beta

10 Jun 06:40
2e6c72b

Choose a tag to compare

Telar Compositor v1.3.2-beta

A reliability release focused on image uploads and object data. Object metadata
now saves dependably, a failed upload surfaces a clear reason and can be retried
without creating duplicates, and several collaborative-editing edge cases that
could make objects briefly disappear now self-heal.

Versión en español abajo

New features

  • Stories-section intro — The homepage editor now has an optional intro
    paragraph for the stories section, shown above your stories when set.

Reliability and bug fixes

  • Object credit, source, type, and subjects now save reliably — they round-trip
    through the collaboration snapshot and back-fill on load for existing projects.
  • Image upload is more dependable — a failed registration after the image was
    committed no longer leaves the upload stuck or the object stranded; retrying is
    safe and never creates duplicates.
  • Clearer upload errors — when an upload can't proceed, the message explains why
    (for example, an invalid object ID) instead of a generic "check your connection."
  • Object IDs are tidied automatically — spaces or capital letters no longer block
    an upload.
  • Objects no longer briefly disappear after certain collaborative edits.
  • Repairing a site's configuration during onboarding now coordinates with live
    collaboration so the fix isn't overwritten.

Under the hood

  • Workers observability is enabled, so server-side errors are captured with stack
    traces.
  • Image and object commits now use the GitHub App installation token, removing a
    class of permission failures.

Upgrade

For users running their own copy of the compositor:

  1. Pull the new release
  2. Deploy: npm run deploy (the smoke test runs automatically)

No new D1 migrations, environment variables, or bindings this release.

Documentation

Acknowledgments

Telar is developed by Adelaida Ávila, Juan Cobo Betancourt, Natalie Cobo, Santiago
Muñoz, and students and scholars at the UCSB Archives, Memory, and Preservation
Lab, the UT Archives, Mapping, and Pedagogy Lab, and Neogranadina.

We gratefully acknowledge the support of the Caribbean Digital Scholarship
Collective, the Center for Innovative Teaching, Research, and Learning (CITRAL) at
the University of California, Santa Barbara, the UCSB Library, the Routes of
Enslavement in the Americas University of California MRPI, and the Department of
History of The University of Texas at Austin.


Español

Una versión dedicada a arreglar la subida de imágenes y los metadatos de los
objetos. Ahora los metadatos se guardan bien; cuando una subida falla, el mensaje
explica por qué y puedes volver a intentarla sin crear objetos repetidos; y los
objetos que a veces desaparecían por un momento al editar en equipo ahora se
quedan en su lugar.

Nuevas funciones

  • Introducción de la sección de historias — El editor de la página de inicio
    ahora tiene un párrafo de introducción opcional para la sección de historias,
    que aparece sobre tus historias cuando lo agregas.

Confiabilidad y correcciones

  • El crédito, la fuente, el tipo y los temas del objeto ahora se guardan bien.
  • Subir imágenes es más confiable: una subida fallida se vuelve a intentar sin
    crear repetidos, y ya no deja el objeto a medias.
  • Mensajes más claros cuando una imagen no se puede subir, en lugar de un genérico
    "verifica tu conexión".
  • Los espacios o las mayúsculas en el ID de un objeto ya no impiden subirlo.
  • Los objetos ya no desaparecen por un momento al editar en equipo.
  • La reparación de la configuración inicial del sitio ya no se sobrescribe.

Y por dentro

  • Se activó la observabilidad de Workers, así que los errores del servidor quedan
    registrados con su traza.
  • Las subidas de imágenes y objetos ahora usan el token de instalación de la app
    de GitHub, lo que elimina una clase de fallas de permisos.

Actualización

Para quienes ejecutan su propia copia del compositor:

  1. Descarga la nueva versión
  2. Despliega: npm run deploy (el smoke test corre automáticamente)

Esta versión no agrega migraciones de D1, variables de entorno ni bindings.

Documentación

Agradecimientos

Telar es desarrollado por Adelaida Ávila, Juan Cobo Betancourt, Natalie Cobo,
Santiago Muñoz, y estudiantes e investigadores del UCSB Archives, Memory, and
Preservation Lab, el UT Archives, Mapping, and Pedagogy Lab, y Neogranadina.

Agradecemos el apoyo del Caribbean Digital Scholarship Collective, el Center for
Innovative Teaching, Research, and Learning (CITRAL) de la University of
California, Santa Barbara, la UCSB Library, el Routes of Enslavement in the
Americas University of California MRPI, y el Departamento de Historia de la
Universidad de Texas en Austin.

Telar Compositor v1.3.1-beta

07 Jun 23:34
af0d0cc

Choose a tag to compare

A patch release hardening the framework-upgrade flow for sites whose GitHub App installation hasn't yet approved the "workflows" permission, plus two bug-report improvements. Upgrading runs one backwards-compatible D1 migration; no new environment variables or bindings.

Upgrade reliability

  • A rejected workflows permission can no longer leave a site half-upgraded — The upgrade commits content changes first and holds the version bump (and the workflow files) for a second commit, so a rejected workflows write leaves the content upgrade intact and the version unchanged. The next upgrade re-fires cleanly.
  • "Review permissions on GitHub" link no longer 404s — It now opens the installation's settings page, where the pending permission can be approved.
  • Sign-in prompt to approve the workflows permission — Convenors whose installation predates the permission get a one-time notice before upgrading.

Bug reports

  • Bug reports now capture the active project's repository, so issues arrive with the context needed to reproduce them.
  • Filed issues mention the maintainer so they are notified.

Acknowledgments

Telar is developed by Adelaida Ávila, Juan Cobo Betancourt, Natalie Cobo, Santiago Muñoz, and students and scholars at the UCSB Archives, Memory, and Preservation Lab, the UT Archives, Mapping, and Pedagogy Lab, and Neogranadina.

We gratefully acknowledge the support of the Caribbean Digital Scholarship Collective, the Center for Innovative Teaching, Research, and Learning (CITRAL) at the University of California, Santa Barbara, the UCSB Library, the Routes of Enslavement in the Americas University of California MRPI, and the Department of History of The University of Texas at Austin.

Español

Una versión de mantenimiento que refuerza el proceso de actualización del framework en los sitios cuya instalación de la GitHub App aún no tiene aprobado el permiso «workflows», además de dos mejoras en el reporte de errores. Al actualizar se ejecuta una migración D1 retrocompatible; no se agregan variables de entorno ni bindings.

Confiabilidad de la actualización

  • Rechazar el permiso de workflows ya no deja un sitio a medio actualizar — Ahora la actualización guarda primero los cambios de contenido y deja el cambio de versión (y los archivos de workflows) para un segundo commit. Así, si se rechaza el permiso de workflows, el contenido queda actualizado y la versión sin cambios, y el siguiente intento de actualización se completa sin problemas.
  • El enlace «Revisar permisos en GitHub» ya no lleva a una página inexistente — Ahora abre la página de configuración de la instalación, donde se puede aprobar el permiso pendiente.
  • Aviso al iniciar sesión para aprobar el permiso de workflows — Quienes coordinan un proyecto y cuya instalación es anterior a este permiso ven un aviso, una sola vez, antes de actualizar.

Reporte de errores

  • Los reportes de errores ahora incluyen el repositorio del proyecto activo, para que cada incidencia llegue con el contexto necesario para reproducirla.
  • Las incidencias ahora mencionan a la persona encargada del mantenimiento para que reciba la notificación.

Agradecimientos

Telar es desarrollado por Adelaida Ávila, Juan Cobo Betancourt, Natalie Cobo, Santiago Muñoz, y estudiantes e investigadores del UCSB Archives, Memory, and Preservation Lab, el UT Archives, Mapping, and Pedagogy Lab, y Neogranadina.

Agradecemos el apoyo del Caribbean Digital Scholarship Collective, el Center for Innovative Teaching, Research, and Learning (CITRAL) de la University of California, Santa Barbara, la UCSB Library, el Routes of Enslavement in the Americas University of California MRPI, y el Departamento de Historia de la Universidad de Texas en Austin.

Telar Compositor v1.3.0-beta

07 Jun 07:16
e083f77

Choose a tag to compare

The largest compositor release since v1.0.0-beta: a top-to-bottom redesign of the workspace, real-time collaboration moving into open beta, and a wave of stability and user-reported bug fixes.

Versión en español abajo

New features

  • Redesigned workspace — A refreshed visual identity across the whole app: a new type system, palette, and shared UI primitives, with a rebuilt header, tab navigation, and project switcher.
  • Guided Start tab — A new landing tab inside each project: a workflow map showing the six steps of building a Telar site (configure, objects, stories, glossary, pages, publish) with the live state of each, an activity feed of the latest edits, short documentation excerpts in a drawer, and a first-run checklist tailored to whether you convene the project or collaborate on it.
  • Site-status pill — A single header indicator that shows where the site stands and opens the right popover: a step-by-step publish progress tracker, an "in sync" / "GitHub has changed" view, and a prompt when a new Telar version is available.
  • Real-time collaboration — open beta — Work on a site together with your team, with live presence (live, reconnecting, or working solo) and a welcome when someone adds you to a project. Edits save automatically, and nothing goes live until the convenor publishes.
  • Scoped undo and redo — Undo affects only your own recent edits, never a teammate's, with a toast (and one-click reverse) when an undo touches something off-screen.
  • Rebuilt editors — A glossary editor with rename impact, used-in tracing, and live preview; a restructured story editor; a single add-object dialog for uploads, IIIF, and external media; and rewritten Pages and Publish surfaces.
  • Rich site-description editor — The homepage description is now a collaborative inline-HTML editor (bold, links) with a view/edit toggle.
  • Project switcher, activity log, and a "What's new" card — Switch projects from the header, keep a per-project activity log, and see a dismissable, bilingual "What's new" card at sign-in.

Data layer

This release applies eight D1 migrations (0026–0033). Seven are additive and backwards-compatible. Migration 0028 drops the vestigial objects.order column and is forwards-only — once applied, the database cannot be rolled back past this release without manual schema work. The column was unused, so the drop is safe; it only affects rollback posture.

Security and stability

  • Multiplayer hardening — Closed several access-control gaps, end a removed collaborator's live session immediately, and made snapshot ordering and de-duplication robust under concurrent editing.
  • Authentication — Hardened sign-in, and the GitHub App integration now accepts both PKCS#1 and PKCS#8 private keys.
  • Faster navigation — GitHub status is cached between checks and cleared on publish, so navigation stays fast and status stays accurate.
  • Framework files self-heal on publish — A site missing its package-lock.json (required since the framework's build switched to npm ci) has it restored automatically on the next publish.
  • Readable settings changes — Settings changes appear in human-readable form in the commit message and the unpublished-changes popover.

Fixes

  • Turning off demo content now works — Nested settings such as "show demo content" were silently dropped at publish; publish now writes the nested story_interface and collection_interface blocks back to _config.yml, so every toggle takes effect.
  • Editing a brand-new story no longer errors — Opening a just-created story, or navigating to one that doesn't exist yet, shows an in-app recovery card instead of crashing.
  • Renaming a layer button no longer fails — Editing the label or expander on a freshly-created layer no longer triggers a failed save.
  • Publish no longer ships stale content — If a pre-publish snapshot fails, publish stops instead of shipping the previous state.

Upgrade

For users running their own copy of the compositor:

  1. Pull the new release
  2. Apply pending D1 migrations: npx wrangler d1 migrations apply <your-db> --remote
  3. Deploy: npm run deploy (the smoke test runs automatically)

Note: migration 0028 is forwards-only — once applied, you cannot roll the database back past v1.3.0-beta.

Documentation

Acknowledgments

Telar is developed by Adelaida Ávila, Juan Cobo Betancourt, Natalie Cobo, Santiago Muñoz, and students and scholars at the UCSB Archives, Memory, and Preservation Lab, the UT Archives, Mapping, and Pedagogy Lab, and Neogranadina.

We gratefully acknowledge the support of the Caribbean Digital Scholarship Collective, the Center for Innovative Teaching, Research, and Learning (CITRAL) at the University of California, Santa Barbara, the UCSB Library, the Routes of Enslavement in the Americas University of California MRPI, and the Department of History of The University of Texas at Austin.


Español

La versión más grande del compositor desde la v1.0.0-beta: un rediseño completo del espacio de trabajo, la colaboración en tiempo real que entra en beta abierta y una serie de mejoras de estabilidad y correcciones reportadas por la comunidad.

Nuevas funciones

  • Espacio de trabajo rediseñado — Una identidad visual renovada en toda la aplicación: nueva tipografía, paleta y componentes de interfaz compartidos, y se reconstruyeron el encabezado, la navegación por pestañas y el selector de proyectos.
  • Pestaña de inicio guiada — Una nueva pestaña dentro de cada proyecto: un mapa del flujo de trabajo que muestra los seis pasos para construir un sitio de Telar (configurar, objetos, historias, glosario, páginas, publicar) con el estado de cada uno, una lista de la actividad más reciente, extractos breves de la documentación en un panel lateral y una lista inicial de tareas según si coordinas el proyecto o colaboras en él.
  • Indicador de estado del sitio — Un solo indicador en el encabezado que muestra cómo está el sitio y abre el panel correspondiente: un seguimiento paso a paso de la publicación, una vista de «al día» / «GitHub ha cambiado» y un aviso cuando hay una nueva versión de Telar.
  • Colaboración en tiempo real — beta abierta — Edita un sitio junto con tu equipo, con indicadores de presencia (en vivo, reconectando o trabajando sin conexión) y una bienvenida cuando alguien te agrega a un proyecto. Los cambios se guardan solos y nada se publica hasta que quien coordina lo publique.
  • Deshacer y rehacer acotados a tus cambios — Deshacer solo afecta tus propios cambios recientes, nunca los de otra persona, con un aviso (y la opción de revertir con un clic) cuando deshaces algo que está fuera de la pantalla.
  • Editores reconstruidos — Un editor de glosario que muestra el impacto de renombrar un término, rastrea dónde se usa y lo previsualiza en vivo; un editor de historias reestructurado; un único diálogo para agregar objetos (subir archivos, pegar manifiestos IIIF o enlazar medios externos); y las secciones de Páginas y Publicar reescritas.
  • Editor enriquecido de la descripción del sitio — La descripción de la página de inicio ahora es un editor colaborativo de HTML en línea (negrita, enlaces) con alternancia entre ver y editar.
  • Selector de proyectos, registro de actividad y tarjeta de novedades — Cambia de proyecto desde el encabezado, lleva un registro de actividad por proyecto y recibe una tarjeta bilingüe de novedades al iniciar sesión.

Capa de datos

Esta versión aplica ocho migraciones de D1 (0026–0033). Siete son aditivas y compatibles con versiones anteriores. La migración 0028 elimina la columna vestigial objects.order y es de un solo sentido: una vez aplicada, la base de datos no se puede revertir más allá de esta versión sin trabajo manual sobre el esquema. La columna no se usaba, así que eliminarla es seguro; solo afecta la posibilidad de revertir.

Seguridad y estabilidad

  • Refuerzo de la edición colaborativa — Se cerraron varios huecos de control de acceso; ahora la sesión en vivo de quien deja de ser colaborador termina de inmediato, y el ordenamiento y la deduplicación de los snapshots se mantienen estables cuando varias personas editan a la vez.
  • Autenticación — Se reforzó el inicio de sesión, y la integración con la GitHub App ahora acepta claves privadas en formato PKCS#1 y PKCS#8.
  • Navegación más rápida — El estado de GitHub se guarda en caché entre revisiones y se limpia al publicar, de modo que la navegación sigue siendo rápida y el estado se mantiene exacto.
  • Los archivos de Telar se restauran al publicar — Si a un sitio le falta el package-lock.json (necesario desde que la construcción de Telar pasó a usar npm ci), se restaura automáticamente en la siguiente publicación.
  • Cambios de configuración legibles — Los cambios de configuración aparecen de forma legible en el mensaje de commit y en el panel de cambios sin publicar.

Correcciones

  • Ya se puede desactivar el contenido de ejemplo — Algunos ajustes anidados, como «mostrar contenido de ejemplo», se descartaban en silencio al publicar; ahora la publicación escribe los bloques anidados story_interface y collection_interface en _config.yml, así que cada ajuste surte efecto.
  • Editar una historia recién creada ya no da error — Abrir una historia recién creada, o entrar a una que todavía no existe, muestra una tarjeta de recuperación dentro de la aplicación en lugar de fallar.
  • Renombrar el botón de una capa ya no falla — Editar la etiqueta o el botón desplegable de una capa recién creada ya no provoca un error al guardar.
  • La publicación ya no envía contenido desactualizado...
Read more

Telar Compositor v1.2.1-beta

30 May 03:37

Choose a tag to compare

Pre-release

Telar Compositor v1.2.1-beta

A patch release following v1.2.0-beta, with three fixes now live on production: the homepage Welcome Message editor no longer crashes and saves reliably, dashboard timestamps no longer trigger a hydration mismatch on load, and site config is escaped and self-heals on publish.

No D1 migrations, no Cloudflare binding changes, and no new environment variables — upgrading is a deploy.

Bug fixes

  • Welcome message editor no longer crashes and now saves — Editing or clearing the homepage Welcome Message crashed the page and discarded the edit. The editor now saves changes reliably as you type, with the framework's default text shown as a placeholder when the field is empty.
  • Dashboard timestamps no longer cause a hydration mismatch — The relative "Synced …" timestamps on story cards rendered differently on the server and client, triggering a React hydration error on page load. They are now computed consistently and localised.

Stability

  • Site config escaped and self-healing on publish — String fields are escaped when writing _config.yml, and a corrupted _config.yml is repaired on the next publish rather than failing.

Requirements

No operational changes required. Existing COLLAB_GATE and SESSION_SECRET bindings unchanged. No new D1 migrations to apply.

Telar Compositor v1.2.0-beta

12 May 14:36
2a41715

Choose a tag to compare

A new home for your account — profile, preferences, projects, and account deletion all in one place. A bug-report button that captures runtime context for filing issues. UI language now persists across devices and seeds into newly-created sites. The publish change summary lists Added / Changed / Removed entries per story, page, object, and glossary term. And the upgrade flow now supports Telar Framework v1.3.0.

What's new

Account page

  • /account is the new top-level user route, replacing the Settings link in the header dropdown
  • Five sections: Profile, Preferences (editor UI language and presence-cursor colour), Connected sites (with per-row delete-or-leave), GitHub access (with deep links to GitHub's installation page), and Danger zone (full account deletion with a live collaborator-count warning)

Persistent UI language

  • Language choice persists in D1 and survives device switches and cookie clears
  • Creating a new site seeds telar_language in the generated _config.yml from the same preference, with a soft-fail amber warning on the Account page if the patch can't apply

Bug report button

  • Header carries a bug-report button. Clicking it opens a panel pre-filled with locale, recent console errors, build SHA, and attachments — then submits as a GitHub issue with a redacted payload
  • A post-crash variant renders inside route ErrorBoundaries so users can still file a report when the page they were on has stopped working

Drafts round-trip and orphan-story handling

  • Drafts now always write {story_id}.csv so they survive across sessions and devices
  • When a stray per-story CSV appears in the repo without a matching project.csv row, the dashboard surfaces a banner: "Restore as drafts" pulls them back as new drafts, "Ignore" writes the IDs to .compositor-ignored

Telar v1.3.0 framework upgrade support

  • The upgrade flow recognises v1.3.0's homepage layout change
  • Hash-gated replacement of about.md and the welcome body (only when untouched), removal of obsolete frontmatter, silent creation of acerca.md for Spanish sites still on the v1.2.1 about.md
  • The homepage editor renders the v1.3.0 defaults as faded placeholders when nothing has been customised

Safer onboarding, live deletion notifications

  • The connect flow warns when the chosen repo is private and the GitHub plan can't be verified, alerts when telar_theme isn't a recognised theme, and pre-checks installation scope before commit
  • Deleting a project or removing a collaborator broadcasts live over the project's WebSocket — every connected editor sees a sticky toast and disconnects cleanly

Data layer

D1 migration 0025 replaces users.language_preference (a write-once cookie default that nothing actually read) with users.ui_locale (NULL when the user has not actively chosen, non-null once they have). Forwards-only — self-hosters cannot roll the database back past this release without manual schema work.

Per-entity content hashing: the publish change summary now hashes each story, page, object, and glossary term independently. The Review modal lists what was Added, Changed, and Removed per entity, and the commit body matches.

Stability

  • Empty-title pages now block publish rather than only warning
  • Account deletion auto-cascades any project where you were the sole convenor in a single D1 batch; the signin page surfaces an "account deleted" banner so a stale tab does not loop on failed auth
  • Sync reimport journals existing state before mutation and restores on failure
  • Repo HEAD lookups are cached within a session and evicted after publish

Requirements

Telar Framework v0.9.2-beta or later. The upgrade path through v1.3.0 is supported as of this release.

Support

Acknowledgments

Telar is developed by Adelaida Ávila, Juan Cobo Betancourt, Natalie Cobo, Santiago Muñoz, and students and scholars at the UCSB Archives, Memory, and Preservation Lab, the UT Archives, Mapping, and Pedagogy Lab, and Neogranadina.

We gratefully acknowledge the support of the Caribbean Digital Scholarship Collective, the Center for Innovative Teaching, Research, and Learning (CITRAL) at the University of California, Santa Barbara, the UCSB Library, the Routes of Enslavement in the Americas University of California MRPI, and the Department of History of The University of Texas at Austin.


Telar Compositor v1.2.0-beta (Español)

Una nueva página de cuenta que reúne perfil, preferencias, proyectos y eliminación de cuenta en un solo lugar. Un botón para reportar errores que captura el contexto técnico cuando algo falla. El idioma de la interfaz ahora se recuerda entre dispositivos y queda configurado en los sitios nuevos al crearlos. El resumen de cambios al publicar detalla qué se agregó, modificó o eliminó por cada historia, página, objeto y término de glosario. Y el flujo de actualización ya reconoce Telar Framework v1.3.0.

Novedades

Página de cuenta

  • /account es la nueva ruta principal del usuario y reemplaza el enlace de Configuración en el menú del encabezado
  • Cinco secciones: Perfil; Preferencias (idioma de la interfaz y color de presencia); Sitios conectados, con eliminar y salir como opciones por fila; Acceso a GitHub, con enlaces directos a la página de instalaciones; y Zona de peligro, para eliminar la cuenta con un aviso en vivo del número de colaboradores conectados

El idioma se recuerda

  • La elección de idioma se guarda en D1 y se mantiene tras cambiar de dispositivo o borrar las cookies
  • Al crear un sitio nuevo, ese mismo valor queda escrito en telar_language del _config.yml que se genera; si la operación falla, aparece una advertencia ámbar en la página de cuenta sin bloquear la creación del sitio

Botón para reportar errores

  • El encabezado tiene un botón. Al pulsarlo se abre un panel prellenado con el idioma de la sesión, los errores recientes de la consola, el SHA de la compilación y los archivos que se quieran adjuntar; el envío es un issue en GitHub con la carga ya limpia de datos personales
  • Una variante para después de un fallo aparece dentro de los ErrorBoundaries de las rutas, de modo que se puede enviar un reporte incluso desde una página que dejó de funcionar

Borradores que no se pierden y manejo de historias huérfanas

  • Los borradores ahora siempre se guardan como {story_id}.csv y siguen disponibles entre sesiones y dispositivos
  • Cuando aparece un CSV de historia en el repositorio sin la fila correspondiente en project.csv, el panel muestra un aviso: "Recuperar como borradores" trae cada historia de vuelta como un borrador nuevo; "Ignorar" escribe los IDs a .compositor-ignored para que dejen de aparecer en cada sincronización

Compatibilidad con Telar Framework v1.3.0

  • El flujo de actualización reconoce el cambio de diseño de la página principal de v1.3.0
  • Reemplaza el contenido de about.md y del cuerpo de bienvenida solo si se mantienen igual al de v1.2.1, elimina líneas obsoletas del frontmatter, y crea acerca.md de forma silenciosa en los sitios en español que aún tienen el about.md de v1.2.1
  • El editor de la página principal muestra los textos por defecto de v1.3.0 como sugerencias atenuadas mientras no se hayan personalizado

Conexión más segura y avisos en vivo al eliminar

  • El proceso de conexión avisa cuando el repositorio es privado y el plan de GitHub no se puede verificar, alerta cuando el valor de telar_theme no se reconoce, y verifica el ámbito de instalación antes de confirmar la conexión
  • Eliminar un proyecto o quitar a un colaborador avisa en vivo por el WebSocket a cada editor conectado, que ve un aviso destacado y se desconecta sin perder cambios

Capa de datos

La migración D1 0025 reemplaza users.language_preference (una columna que se escribía una sola vez desde la cookie y que después nunca se leía) por users.ui_locale (con valor NULL hasta que el usuario elige activamente, y con valor concreto cuando lo hace). Solo hacia adelante — quienes hospeden el compositor en su propia infraestructura no pueden retroceder la base de datos a antes de esta versión sin modificar el esquema a mano.

Resumen por entidad al publicar: el publicador ahora calcula un hash de cada historia, página, objeto y término del glosario por separado. El modal de Revisión detalla qué se agregó, modificó o eliminó por entidad, y el cuerpo del commit refleja lo mismo.

Estabilidad

  • Las páginas sin título ahora bloquean la publicación; antes solo aparecían como advertencia
  • Al eliminar una cuenta, los proyectos donde la persona era convocante única se eliminan también en cascada, todo en una sola operación de D1; la página de inicio de sesión muestra un aviso de "cuenta eliminada" para que una pestaña antigua no quede en un bucle de autenticación fallida
  • La reimportación desde el repositorio registra el estado existente antes de modificar el proyecto y lo restaura si algo falla a mitad de camino
  • Las consultas del HEAD del repositorio se guardan en caché dentro de una sesión y se invalidan tras publicar

Requisitos

Telar Framework v0.9.2-beta o posterior. La ruta de actualización hasta v1.3.0 está disponible a partir de esta versión.

Soporte

Agradecimientos

Telar es desarrollado por Adelaida Ávila, Juan Cobo Betancourt, Natalie Cobo, Santiago Muñoz, y estudiantes e investigadores del UCSB Archives, Memory, and Preservation Lab, el UT Archives, Mapping, and Pedagogy Lab, y Neogranadina.

Agradecemos el apoyo del Caribbean Digital Scholarship Collective, el Center for Innovative Teaching, Research, and Learning (CITRAL) de la University of California, Santa Ba...

Read more

Telar Compositor v1.1.0-beta

05 May 02:48
6fc9b06

Choose a tag to compare

Brings the compositor to parity with Telar Framework 1.2.0.

What's new

Story sections

  • New section-card step kind groups steps into chapters; sidebar gains a "+ Add section title" button alongside the existing "+ Add step"
  • Each section card renders as a centred heading plus an optional subtitle in the editor (no IIIF viewer, no layers)
  • Per-story toggle on the title card surfaces section headings as a list on the published story

Collection mode

  • New homepage layout option that leads with objects (large thumbnails) and shows stories below
  • Toggle lives on the Config tab under Collection interface
  • Round-trips cleanly through _config.yml

Stability

  • Predeploy smoke test boots wrangler dev against the built bundle and aborts deploy on any 5xx
  • Typecheck CI workflow runs on every push to main and every PR
  • HTML sanitiser swap from isomorphic-dompurify to sanitize-html; same allowlist policy, same data:image/svg+xml rejection, with cleaner worker-bundle compatibility

Data layer

D1 migrations 0022–0024 add steps.kind, stories.show_sections, and project_config.collection_mode. Bilingual show_sections / mostrar_secciones columns appear in project.csv exports, and kind is derived from the empty-object column convention in stories.csv.

Requirements

Telar Framework v1.2.0 or later for sections support. Other features work with framework v0.9.2-beta and later.

Support


Telar Compositor v1.1.0-beta (Español)

Pone el compositor a la par de Telar Framework 1.2.0.

Novedades

Secciones de historia

  • Un nuevo tipo de paso, la tarjeta de sección, agrupa los pasos en capítulos; la barra lateral incorpora un botón "+ Agregar título de sección" junto al "+ Agregar paso" que ya existía
  • Cada tarjeta de sección se muestra en el editor como un encabezado centrado con un subtítulo opcional (sin visor IIIF, sin capas)
  • Cada historia tiene un interruptor en la tarjeta de título que muestra los encabezados de las secciones como una lista en la historia publicada

Modo colección

  • Nueva opción de disposición de la página de inicio que muestra primero los objetos (con miniaturas grandes) y las historias debajo
  • El interruptor está en la pestaña Configuración, bajo Interfaz de colección
  • Se preserva sin cambios al pasar por _config.yml

Estabilidad

  • La prueba de humo previa al despliegue arranca wrangler dev contra el paquete compilado e interrumpe el despliegue ante cualquier 5xx
  • Nuevo flujo de trabajo de CI que ejecuta typecheck en cada push a main y en cada PR
  • Sustitución del sanitizador HTML: de isomorphic-dompurify a sanitize-html; conserva la misma lista de elementos permitidos y sigue rechazando data:image/svg+xml, con mejor compatibilidad con el paquete del worker

Capa de datos

Las migraciones D1 0022–0024 añaden steps.kind, stories.show_sections y project_config.collection_mode. Las columnas bilingües show_sections y mostrar_secciones aparecen en las exportaciones de project.csv, y kind se deriva de dejar vacía la columna object en stories.csv.

Requisitos

Telar Framework v1.2.0 o posterior para usar secciones. Las demás funciones son compatibles con framework v0.9.2-beta o posterior.

Soporte