Feature: post-save "publishing" notice / `onCommit` hook so editors know changes aren't live yet
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 52/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
- Área
- developer-experience, frontend
Línea de trabajo
Start by tracing the GitHub storage save flow and the existing toastQueue mentioned in the proposal. Compare the smallest built-in notice option with the client-side onCommit hook, and check how UI configuration is defined and tested. Done means editors receive a clear post-save publishing notice or hosts can reliably respond to a successful commit; the issue leaves the preferred option open.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Problem
In github storage mode, "Save" creates a commit and Keystatic shows Saved. For non-technical editors this reads as "it's live", but the site only updates after CI/CD finishes (for us: a GitHub Actions deploy that debounces saves for 45 s, then builds and publishes, ~2–3 min total). Editors reload the public site right away, see nothing, and assume the save failed; some re-save several times.
Related: #223 (batch deployments, closed → decoupled commits from editing, which doesn't address the feedback gap), #1541 (ready-to-publish flag), #1633 (list view not refreshing after save).
What we do today (workaround)
An Astro middleware injects a small script into /keystatic that wraps window.fetch, detects the createCommitOnBranch mutation succeeding, and shows a toast: "Saved. Publishing… it takes about 2–3 minutes to appear on the site." It works but depends on Keystatic internals.
Proposal (any of these would do)
- Config hook —
ui: { onCommit?: (info: { branch: string; collection?: string; slug?: string; sha: string }) => void }(client-side). Hosts can show their own notice, start a countdown, or poll their own deploy status. - Built-in notice —
ui: { publishNotice?: { message: string } }shown as a toast via the existingtoastQueueafter a successful commit, with{branch}interpolation. Zero code for most users. - (Later)
ui.deployStatus?: () => Promise<'building' | 'live'>polled by Keystatic to show a status pill, letting each site decide what to expose.
Option 2 is the smallest change and covers the most common case: a static message. Happy to open a PR for 1 or 2 if there's interest.
- Lenguaje dominante
- TypeScript
- Estrellas
- 2.4k
- Forks
- 170
- Merge medio
- 5 h 46 min
- PR fusionados (30 d)
- 3
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de Thinkmill/keystatic
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Typo/Grammar on Website HomepagePosiblemente ocupada @Punith1117 la tomó hace 139 días. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
Los mantenedores suelen responder en 1 día
-
Array field: no visible edit button on rows and no close button in the "Edit item" dialogPosiblemente ocupada @bacarndiaye la tomó hoy. Abierto
Dificultad 3/5 Medio día Aptitud para principiantes 35/100
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
Los mantenedores suelen responder en 1 día
Todos los issues de Thinkmill/keystatic
Issues similares
-
e2e-failure ready-to-code
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
redhat-developer/rhdh-plugin-export-overlays#4460 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
Los mantenedores suelen responder en 1 día
-
docs(api): openapi.yaml still documents gif-tools optimize colors as 2-256 instead of 2, 4, 16, 256Abiertoarea: backend documentation priority: low
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
snapotter-hq/SnapOtter#2919 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
obsidianmd/pele#39 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
biomejs/biome#12475 · 1 comentario ·
Los mantenedores suelen responder en 1 día