Référence
Journal des modifications
Pourquoi c’est ainsi
Cette page est produite à partir de l’historique Git par npm run changelog. Les messages de commit de ce dépôt sont écrits en français : ils sont reproduits tels quels, sans traduction, parce qu’un intitulé traduit posé à côté d’une empreinte renvoie vers un commit dont le texte dit autre chose — et le lecteur ne peut alors chercher ni l’un ni l’autre.
septembre 2026#
Fonctionnalités
| Portée | Modification | Commit |
|---|---|---|
demo | les posts réseaux sociaux dans un téléphone, dans leur fil | c921532 |
document | dix nouveaux types — affiche, rapport, documentation, CV, facture/devis, certificat, menu, posts Instagram, Facebook et LinkedIn | c51b84b |
document | « Ajuster à la page » au clic droit, type d'écran retenu par projet | fcda24e |
document | bouton « Ajuster à la page » sur l'alerte de dépassement | 8ca73c7 |
demo | un document imprimé tenu en main, dessiné au trait | 37f5828 |
document | type Flyer, formats de page et téléchargements | 587cf50 |
document | Screen.page, pdf-lib, et la place de la boîte de téléchargement | 65c0302 |
document | formats de page et contrat DOM du mode Document | 5b7267e |
| — | câbles entre écrans, cadres démo, fournisseurs, types d'écran, amélioration du prompt, son de fin | c269525 |
admin | tableau de bord d'administration en direct | 7f6ee0e |
admin | mode maintenance et migration vers un nouveau serveur | d526746 |
site | les images du site remplacées par des photos libres ou générées | 9f971a0 |
composer | captures d'un site existant, à reproduire ou à refondre | 5fb8c03 |
| — | notes privées par écran, et photos libres de droits choisies par la vision | ad4b301 |
ultra | Motion Ultra ×3 et ×6 ouverts par compte, indépendamment | ff3895a |
ui | les films s'appellent Motion Ultra partout | 7161595 |
video | accès aux vidéos par compte, et un vrai choix de source dans Muse | 807a979 |
media | vidéos libres de droits Pexels et Pixabay, configurables dans Admin | 52847f1 |
muse | une séquence vidéo pilotée par la souris, placée où le prompt le dit | 8dce2ee |
| — | animations de page toujours actives, plus de film automatique | d910b88 |
ultra | série visible sur le canevas, images réutilisées, film vraiment visible | 55c8d51 |
ultra | v2 — fond vidéo, fabriqué en local et branché sans appel | c0f31d4 |
ultra | quatre effets repérés dans le corpus motionsites | e0841dd |
ultra | contrôle de lisibilité du texte posé sur une image | 9d1dfde |
| — | retour arrière automatique quand la réparation d'un écran échoue | 9e0a4ce |
ultra | fin de la v1 — coût visible, budget d'animation, test U1 | 972d8e9 |
images | « Autre version » d'une image dans les médias d'un écran | def84f0 |
ultra | contrôles après génération et après retouche, badge sur le canevas | 14931a3 |
ultra | Polish ne corrige plus le style d'un écran Motion Ultra | 37cf5e9 |
ultra | Motion Ultra — storyboard, série d'images et kit CSS | 64370c0 |
3d | la place vivante suit la scene qu'on regarde | b9915c7 |
3d | une scene sans place montre une image d'elle-meme | f62e8a9 |
motion | le film sait ce que la page dessine deja en 3D | f4f7c24 |
3d | la scene repond au curseur, et un fond reste derriere | fffea74 |
3d | quatre scenes de plus, et une deuxieme couleur | 0c39797 |
3d | une scene WebGL dans une page, et le budget qui la gouverne | 535dd46 |
motion | un fichier compose pour les deploiements qui choisissent un fichier | d921659 |
motion | un film peut boucler proprement, en miroir ou en fondu | dca0127 |
motion | un film de page dit presque rien, et des icones animees | 4bc3a0c |
motion | monde 3D continu, titres dessines par un essaim, transitions cube/plongee/iris/liquide | 1a8692b |
motion | typographie cinetique et fonds qui bougent en couleur | 132e70e |
motion | niveau de puissance du serveur et bouton "Tester ce serveur" dans l'admin | 6c8bd41 |
motion | plus de case Motion, le film est decide par l'interrupteur d'animation et la demande | 78e7fe9 |
motion | les polices du dossier sont installees dans le moteur de rendu | 0a4433b |
motion | sept facons d'arriver et trois ambiances de couleur, choisies par le LLM | c1b378a |
motion | la modification d'un film passe par une fenetre Mocky, plus par la popup du navigateur | 1a794d0 |
motion | modifier un film deja pose dans un ecran, depuis le menu de l'ecran | 5f2d752 |
motion | varier les films, et modifier au lieu de refaire quand le brief change | 6aa306d |
motion | nommer les sections, pour que le film sache ou se poser | d331fae |
Correctifs
| Portée | Modification | Commit |
|---|---|---|
demo | main retracée sur la référence agrandie, ombre du pouce | 465f293 |
demo | main tracée d'après la référence choisie | fb94c2f |
document | main redessinée, bouton Enregistrer, images de la bibliothèque | ce3158f |
document | rendu natif des pages, image facultative, partage | 4792f6b |
annotation | la capture reçoit les capacités de l'écran ; démo : changer d'écran | fa08ce4 |
site | une refonte lit d'abord le contenu du site, et le garde dans sa langue | 1d6b06e |
composer | les captures d'un site aussi depuis l'accueil d'un projet vide | 77edc5e |
video | la séquence au défilement reste collée malgré un overflow-hidden | c806490 |
videos | le découpage n'agrandit plus un clip plus étroit que le réglage | e0939e1 |
ultra | une photo plein cadre ne recouvre plus le fond vidéo; cadres empilés sans débord | a0046d9 |
ultra | le film d'un écran Motion Ultra reçoit les images de la série | 0525a06 |
ultra | le voile du héros cinématique couvre chaque ligne de texte; suivi mis à jour | 0fa77e9 |
ultra | un film Motion ne prend plus l'ouverture construite par Motion Ultra | e207122 |
3d | une capture donne son image a CHAQUE scene de la page | 1df6187 |
motion | le film n'est pas un conteneur | a2a302f |
motion | le sujet plein cadre s'ecarte des mots | 1328f9b |
provider | la reflexion recoit un budget la ou on peut en demander un | c4fce19 |
provider | une generation qui ne rend rien dit enfin pourquoi | 67523a4 |
3d | un ecran depense un contexte, quoi que le modele ait ecrit | b108ceb |
export | un projet exporte porte tous ses composants, et se construit | beac878 |
3d | la scene garde son propre temps, et la console se tait | 4927324 |
motion | pas de second fond anime, et jamais une bande a soi | 3a75f3f |
3d | une scene tient dans sa boite, et se laisse photographier | 21c3466 |
canevas | l'outil Modifier reagit enfin au clic | e4e5a79 |
motion | le fichier compose pour Coolify est entier, et genere | dafe036 |
generation,motion | une icone inconnue ne fait plus planter l'ecran, un film refuse a une seconde chance | 1075322 |
ui | les erreurs du composer s'affichent en entier, sur plusieurs lignes, et se ferment | 50cdbc2 |
test | la couture prompt/lecteur lit un fichier, donc elle vit dans tests/ | 223eff7 |
Documentation
| Portée | Modification | Commit |
|---|---|---|
lumy | captures annotées, cartes, quiz et valeurs du lecteur | 9ebf522 |
lumy | documents et posts réseaux sociaux, câbles, mode démo, types d'écran, Améliorer, carillon, fournisseurs | 9504f84 |
| — | LUMY_SECRET est facultatif | 096a681 |
| — | Lumy 0.1.1 — formulaires du tableau de bord visibles malgré les bloqueurs de publicité | d406bd9 |
readme | types d'écran, documents, posts réseaux sociaux, cadres de démo, câbles, carillon, fournisseurs | 6357efa |
| — | Lumy installé depuis sa version publiée sur GitHub | bb74aca |
| — | la documentation passe de Docsify à Lumy | d14e752 |
| — | tableau de bord d'administration, invariants D1–D5 | 8d3ca06 |
| — | maintenance et migration de serveur, README et architecture | 0fc16a7 |
readme | reproduire ou refondre un site existant | ce5838d |
| — | plus de bouton d'animation ni de film automatique — pages, invariants et changelog à jour | 183c132 |
| — | Motion Ultra dans l'interface, la vue d'ensemble et le changelog | 9bb2e5a |
ultra | v2 — le fond vidéo, FR/EN, CLAUDE.md et suivi | cf0301f |
ultra | suivi mis à jour | 6090c84 |
ultra | Motion Ultra — page FR/EN, invariants U1–U5, README et CLAUDE.md | 290f7a0 |
3d | la vue d'ensemble nommait encore mockySceneClaim au présent | ce0338d |
motion | comment faire demarrer le worker avec les autres services | f227871 |
deployment | le niveau de rendu et le test du serveur, cote exploitant | ed5d0b9 |
motion | la doc officielle decrit Motion tel qu'il est | ae357f4 |
Maintenance
| Portée | Modification | Commit |
|---|---|---|
admin | une page moitié moins haute, et la section Motion devient Motion Ultra | 170ccd8 |
| — | retire les lecteurs du placement automatique de film | 60d2276 |
motion | journaliser une composition qui n'aboutit pas, avec sa duree et sa raison | 396ca74 |
août 2026#
Fonctionnalités
| Portée | Modification | Commit |
|---|---|---|
motion | chaque type ouvre sur ce qui lui convient, et le dossier arrive entier | 488adae |
media | rafraichir sans quitter la page, et dire quand chaque media a ete fait | 1481afb |
motion | un film entre enfin dans l'ecran qu'il decore | 1e78ab9 |
motion | un geste, les couleurs demandees, un globe entier, et Motion dans le composer | d286c17 |
motion | la 3D devient un vocabulaire, et l'admin dit qui y a droit | 7c8339b |
motion | un bloc habite la boite qu'on lui donne | 1025b07 |
motion | le modele compose des blocs, il ne choisit plus une mise en page | baee1e0 |
motion | rien ne reste immobile, et un long film a le temps de finir | ae18e88 |
motion | retrouver le montage, l'attacher à un écran, et fusionner les deux chemins | 036cb95 |
images | un profil image-to-image, et des variantes vraiment dérivées | e9c1962 |
video | phase 4 — le modèle propose le montage, le schéma en décide | 76fadad |
video | phase 2 — composition réelle, stockage du mp4, suivi de job | 6eb9f25 |
video | phase 1 — worker Remotion isolé, file, garde-fous admin | ef5dcb1 |
seo | un panneau SEO et accessibilité, noté par famille | b82c673 |
images | changer les images d'un écran, emplacement par emplacement | cc9ca69 |
admin | les projets et le stockage, compte par compte | 78cc8b0 |
canevas | le cadrage suit la fenêtre, et un bouton vise le dernier écran | f52ecff |
header | la marque à côté du nom, et la baseline qui lui cède la place | 9b71bc0 |
mobile | des barres qui tiennent, des cibles qu'on peut viser, un canevas qui cède | 8cf0509 |
design | le DESIGN.md devient une fiche, et se modifie | 2d8f0ba |
canvas | cinq retouches, dont deux vrais bugs | 93e8f8c |
quality | détecter, corriger, noter — et dire ce qui a changé | 2ad2f2a |
plan | le mode dit ce que le visiteur vient faire | 28b84e8 |
generate | le nom du produit et son logo traversent les écrans | 53b517e |
design | une seule direction par projet, et un interrupteur pour en changer | 3d776d1 |
design | une direction par projet — la fondation | ad6b439 |
liens | « Proposer des liens » — la fonctionnalité est visible | 2f69b10 |
liens | l'aperçu sait maintenant lister ce qu'on peut lier | ada0457 |
liens | deviner quel bouton mène à quel écran | 7de45d9 |
demo | un parcours qui n'exige pas d'avoir tout relié à la main | 91b73b0 |
video | 24 fps et 1440 px, et un bouton pour redécouper l'existant | 277fe92 |
media | les séquences se lisent enfin | dc0334c |
projets | cocher plusieurs projets, et les ranger dans des dossiers | 9444c95 |
capture | la clé API n'est plus à portée du code généré | d777bdf |
app | du travail qui ne se perd plus, et une bibliothèque de designs | 976323a |
server | de quoi tenir sur le web public, et huit défauts qui mordaient | 6680fde |
| — | un bouton Docs dans l'app, et le site de doc habillé comme Mocky | a443d2d |
motion | cinq presets de plus, et deux composants retrouvés | e7c851b |
canvas | les animations se règlent écran par écran, et le composer respire | 836f3ed |
motion | l'interrupteur d'animations, et le filet anti-contournement | e23b0f3 |
ui | brancher la vidéo, le média et le dossier au reste de l'application | 4323e1d |
motion | des animations par presets fermés, adossées à Motion | 71c8cc1 |
muse | écrire le dossier de design À PARTIR du média de l'utilisateur | 022252d |
media | la page Média, et l'import de ses propres images et vidéos | 931a828 |
video | une séquence vidéo que le visiteur fait défiler | c56578f |
Correctifs
| Portée | Modification | Commit |
|---|---|---|
motion | ne plus rogner un film qui porte des mots, et respecter la CLASSE de la police | 532b722 |
motion | garder toutes les sorties, pas seulement celle que j'avais regardee | da90d0a |
motion | la seconde CSP, et une attente que personne ne pouvait deviner | 6502fb9 |
motion | la regle porte sur la ZONE, pas sur la repetition | 49571c6 |
motion | le film dit ce qu'il grave, la page cesse de le redire | f79d8b2 |
motion | lire l'ecran par la ref, sinon on ne le voit jamais | 3203c4e |
motion | un film compose puis jete une ligne plus loin | 5a8c631 |
motion | un film 3D doit pouvoir finir, et le chiffre ecrit etait faux | b83781b |
motion | une photographie se borne, et un ornement se mesure sur ce qu'il traverse | 16d6670 |
motion | un anneau vu de sept degres est une ellipse plate | 5e0361b |
motion | un mot ne se coupe pas, et un meuble n'est pas la scene | 2757a1f |
motion | un role est une notion de scene, et un champ se mesure comme il peint | c9578f8 |
motion | mesurer le texte plutot que le supposer, et six fautes vues a l'image | 4105c6c |
video | un film net, et une image faite pour le cadre où elle finit | 3a68e3b |
video | le texte se mesure, il ne se suppose pas | a3c761d |
design | la maquette Muse peignait en bleu nuit, et deux causes le voulaient | 3adde33 |
projet | cinq dettes de la revue adverse, et la doc du module vidéo | b780716 |
images | fal a deux familles de modèles d'édition, et deux noms de champ | 8943136 |
video | quatre défauts trouvés au premier essai réel | 9f23452 |
docs | la version mobile, d'après un audit multi-agents | efe4daf |
docs | le sélecteur de thème retrouve le bas du menu | b690b88 |
mobile | la liste des projets cesse d'élargir la page | dc7d301 |
deps | fast-uri et hono, corrigés là où ils étaient déjà permis | 764e3d8 |
design | les vignettes viennent de la palette, plus d'un bleu nuit par défaut | 85c16aa |
capabilities | charger ce que le code utilise, pas seulement ce que le prompt annonçait | 3a802fb |
liens | choisir l'écran dans le panneau, pas sur le canevas | c0695cf |
images | la borne sur le prompt passait sous le trafic de Mocky | 808f13e |
aperçu | le chien de garde s'armait sur le code, pas sur le document | f26a2e8 |
demo | rendre le fil principal à la démo, et un hook remis à sa place | 269e892 |
demo | l'aperçu s'accusait d'un dépassement qu'il n'avait pas | 7072db6 |
demo | ne plus photographier les écrans pendant qu'une démo tourne | b32a6cf |
app | le lien Docs passe dans la manchette | 72fbaa6 |
site | versionner les ressources pour que le cache cesse de mentir | 6875f61 |
site | le sélecteur de langue sort du sommaire | db74b90 |
site | l'onglet s'appelle « Doc Mocky », et la favicon est déclarée proprement | 6c51e41 |
motion | couper les animations fige vraiment l'écran, et le menu montre les choix | 6cf9cec |
motion | l'interrupteur manquait au premier écran, et n'agissait pas sur l'existant | b10128e |
generate | une balise de fin tronquée ne doit plus finir dans le code | ab71f5d |
Documentation
| Portée | Modification | Commit |
|---|---|---|
| — | une page sur l'interface, et le rattrapage du retard | 866340e |
site | la colonne s'élargit, la mesure se resserre | 5e10a3b |
| — | un changelog, des pages vivantes, et ce qui manquait | 8e012c8 |
| — | CLAUDE.md, la série Q, et ce qu'on doit à Impeccable | b055b9c |
| — | la direction par projet, l'identité qui voyage, et deux phrases devenues fausses | 29b62a0 |
| — | les jumeaux de langue, et le « pourquoi » sous chaque titre | f014d33 |
| — | des images nettes, en anglais, et qui chargent aussi en français | 9e31856 |
| — | six captures d'écran, et quatre affirmations remises d'aplomb | 352b61d |
site | un drapeau par langue, et l'icône de Mocky sur l'onglet | 404ee87 |
| — | l'anglais par défaut, le français réécrit, et plus aucun schéma ASCII | f2b361d |
| — | la documentation du projet, et une coquille Docsify pour la lire | 1e45992 |
readme | les animations, la page Média, et trois affirmations devenues fausses | 681e7a3 |
Maintenance
| Portée | Modification | Commit |
|---|---|---|
deps | vite 7, et l'arbre de dépendances rétrécit | 59d5633 |
| — | Node 22.12, et un détecteur qui n'emporte pas Chrome avec lui | ca33975 |
| — | repasser la capture à html2canvas | ce0392b |
| — | rendre Preview, DemoPlayer et ProjectView à l'état où tout marchait | cd98f63 |
dossiers | les dossiers deviennent les rubriques du sommaire | 4cd63d3 |
juillet 2026#
Fonctionnalités
| Portée | Modification | Commit |
|---|---|---|
ui | page d'accueil en registre, miniatures, loader Mocky, mode Interact | faa5403 |
account | gestion des mots de passe, côté utilisateur et côté admin | 72951c3 |
i18n | interface bilingue français / anglais | 64530c9 |
design | editorial redesign — tokens, primitives, newspaper typography | 0fc90e1 |
muse | separate image models for inspiration and for content | 82da4ef |
admin | add fal.ai as a text provider (usable for the inspiration profile) | d43a4c5 |
admin | separate models for generation and for inspiration | cc8ed50 |
muse | "both" image mode, image card on the canvas, full-size viewer | 11e52c8 |
muse | image as content OR inspiration, gated by a real vision probe | 603ddb5 |
canvas | show a screen's original prompt, and name projects from it | c0cbb96 |
text | admin-configurable LLM provider (OpenAI, OpenRouter, compatible) | 3b8128b |
muse | add a top-level "Images" page for the generated-image library | d81740c |
images | add fal.ai as an image provider | 51faf2a |
images | admin-configurable image generation provider | fb95027 |
muse | Phase 5 — anti-slop lint, distinctiveness pass, docs & Docker | 6ba6537 |
muse | Phase 4b — Bibliothèque (image library browser) + pin-to-run | 38546e5 |
muse | Phase 4 core — ✨ toggle, dossier-driven generation, moodboard | e14dafb |
muse | Phase 3 — Inspiration Engine (Discover → Distill → Dossier) | 1bf7578 |
muse | Phase 2 — image providers, store & global Image Library | dca079e |
muse | Phase 1 — MCP host core + inspiration fetch (ADR 001) | 28324b5 |
preview | show a calm "Repairing…" state while auto-fix runs, not the red error | 9d2d2b6 |
canvas | live Design-system frame with click-to-recolor tokens (Lot D.2) | 16373b0 |
welcome | first-run style picker sets DESIGN.md before the first screen (Lot D.1) | 01ba132 |
canvas | animated multicolor ring around a frame while it regenerates | afcfaf7 |
modify | quick text + recolor no-code edits; outline-only pick; freeze-on-regenerate (Lot C.2) | 54acbb2 |
canvas | no-code "Modify" mode — click an element, describe a change (Lot C.1) | 4c674a6 |
canvas | add animations to a screen at subtle/moderate/rich levels (Lot B) | 00e7ddd |
canvas | per-screen context menu (regenerate, formats, code, …) | 7d47a74 |
design | 2x-larger preview cards + background-color picker | 3f1d121 |
design | scalable previews + hover states + larger-preview modal | 8a8d3c4 |
design | richer mini-dashboard previews + per-style accent variants | f4f9f65 |
design | light/dark toggle for style presets | 199e5bb |
fix | give the auto-repair a bounded second attempt | 257a54f |
project | pin a screen as shared-layout reference | 647d621 |
export | runnable Vite project export with DESIGN.md theming | 9965978 |
plan | cheap pre-generation planner stage | 485e157 |
| — | Docker deployment (Dockerfile, docker-compose, .env.example) | f1414c1 |
| — | motion snippet-pack — CSS-only, no framer-motion | 0179155 |
| — | runtime capability registry (daisyui, motion, lucide, recharts, magicui) | e313e6e |
| — | sentinel protocol for streaming + num_ctx fix + vitest tests | 25b41aa |
| — | bigger screen icons + Generating overlay during streaming | 3300e20 |
| — | add 7 Tilda design styles + bigger visual previews | 442b50d |
| — | revert button, visual design previews, back button, 4 new designs | 5338c37 |
| — | auto-retry broken components — send code + error to model for fix | 1f82271 |
| — | stream generated code into preview live + pre-validate JSX + syntax check prompt | a10b32e |
| — | Dashy SSO, security hardening, performance optimizations, and production-ready UI prompts | ec0505a |
Correctifs
| Portée | Modification | Commit |
|---|---|---|
preview | un lien d’ancre ne doit plus emporter la maquette | bd5ef41 |
muse | balayage de gauche à droite, et deux extrémités propres | d5fb3b4 |
muse | montrer l’animation à ceux qui ont déjà essayé Muse | 852e62c |
sync | mettre fin à la boucle de rechargement infinie | ed46575 |
muse | les écrans suivent enfin la direction artistique | c5399e1 |
preview | vendoriser daisyUI, et sortir la capture du timeout | 9323d72 |
sync | stop losing work | eacc4a6 |
security | close the anonymous routes, harden the SSRF guard, pin the vendored bundles | 6c63fc4 |
muse | generate the image again, and show it on the canvas | 9aae371 |
images | image first, scroll for the prompt | 60a19b0 |
admin | stop calling two different settings "Inspiration Muse" | f60ced2 |
admin | explain when an image model id is pasted in a text model field | c8affcb |
vision | probe with a real 256px image, not a 1×1 pixel | 6761308 |
generate | report a truncated model response instead of a syntax error | 54774cc |
text | don't report an empty model reply as a successful test | 35cc372 |
images | use fal's queue API and stop assuming a "fal-ai/" prefix | 8c09122 |
images | make fal failures diagnosable instead of an opaque 502 | b673d7b |
muse | make the Dossier tolerant of real model output (drift + truncation) | b05a8b2 |
generate | give the auto-fixer the capability list so it can repair React #130 | e825b2f |
icons | add social/brand + contact icons to prevent footer React #130 | 5e1f9f4 |
modify | precise element pick + freeze-on-edit; clearer selection | 12926d8 |
modify | anchor edits on the element's class string; design + hex recolor | 71e554f |
charts | center DonutChart total; stop model duplicating it | 471ccfa |
generate | forbid redeclaring ANY prelude component, not just Icon | 18f2cf1 |
charts | stop BarChart/LineChart distorting dots and labels | 920ede9 |
demo | inject capability prelude in Demo mode | 4bc1c1e |
icons | add common auth/UI icons + forbid redeclaring Icon | dd99416 |
preview | report async render errors via a React error boundary | f33b4bb |
generate | ban thinking/meta comments in generated code | 425b403 |
capabilities | remove unused lucide cdn-script | 9cac25d |
generate | harden prompt against invalid dynamic JSX tags | 2c83bd5 |
server | decouple backend port from generic PORT | 390a958 |
preview | repair blob-injection rendering | 0d577ef |
| — | sanitize invalid Unicode + Blob URL injection + line-level diagnostics | 876a50b |
| — | one source of truth for capability names + render error reporting | afd998a |
| — | merge magicui into motion pack, eliminate duplicate declarations | eb54aee |
| — | add ChevronLeft + MoreHorizontal icons, strokeWidth prop, match spec | ad7056a |
| — | silence streaming console noise + icons snippet-pack to ban raw SVG paths | 853e76a |
| — | remove false-positive prelude guard from iframe | dbd2b04 |
| — | snippet-pack atomicity — explicit exports[], no source parsing | ef563b6 |
| — | snippet-pack atomicity — inject ALL components, deduplicate sources | 0527e36 |
| — | remove crossorigin from iframe scripts — use need() guards instead | 98cb4bc |
| — | crossorigin on scripts, readiness guard, charts snippet-pack, dev logging | 133ca7d |
| — | robust import stripping + registry-driven global hoisting + prompt tightening | a730de5 |
| — | replace num_predict:-1 with 8192 + readable error parsing | 0e47ace |
generate | preserve 'function' keyword in toPreviewModule | 37c8025 |
retry | suppress auto-retry during streaming + ignore stale errors | 1711218 |
preview | debounce Babel validation to prevent streaming races | 7a9dcc5 |
proxy | only stream when request asks for stream:true, buffer regular JSON | ea71b5b |
proxy | stream upstream response body through instead of buffering | 35ee8ef |
preview | correct createElement syntax in injected script.textContent | 51fe414 |
preview | inject compiled JS via script.textContent instead of new Function | 2be611c |
capture | fallback to Babel-in-iframe when compiled JS fails | 0f047d7 |
preview | compile JSX inside sandboxed iframe using Babel CDN | 8a39e98 |
| — | use proper UTF-8 base64 for iframe code injection | ef832cb |
| — | robust iframe code embedding + enforce authentication | 8d17842 |
| — | encode compiled JS as base64 before iframe injection | 0c922f6 |
Documentation
| Portée | Modification | Commit |
|---|---|---|
readme | document MOCKY_PORT env var | 869a4f2 |
| — | comprehensive README with Docker deployment guide | 99e3f15 |
Maintenance
| Portée | Modification | Commit |
|---|---|---|
| — | installation, ops and docs | 2dcf9ae |
canvas | thicker, brighter regen ring for visibility | b1f9c80 |
| — | add GitHub Actions workflow (build/test/smoke + docker build) | 3409487 |
capabilities | dead-code sweep + registry invariant tests | c728ba8 |
preview | remove parent-side Babel validation, simplify rendering | f07cd32 |
| — | Add self-hosted accounts backend + admin user management | b788f3a |
| — | Add screenshot annotations attached to (vision) generations | 7ae7619 |
| — | Initial commit: Mocky — self-hosted chat-to-UI generator | a81de92 |
Cette page vous a-t-elle aidé ?
Merci pour votre retour !