Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,41 @@ All notable changes to this project are documented in this file.
The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and
this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.3.0] — 2026-04-27

Milestone 3: structured learning system with guided lessons and free-form
challenges. Reuses the existing IDE shell via a React context provider.

### Added

- Lesson system: guided step-by-step lessons with real-time checkpoint validation against user code (DOM/CSS rule checking via DOMParser, 300 ms debounce).
- Challenge system: free-form coding challenges with pass/fail checkpoints and file operations enabled.
- Home rail routing: Accueil / Leçons / Challenges tabs swap the main content zone. Progress counter on Leçons shows completed / total.
- Lesson dock: collapsible bottom panel with instructions, inline code formatting, and animated checkpoint rows (todo → active → done).
- LessonProvider context: wraps IdeShell in lesson mode, wires VFS changes to the validation engine, persists completion via `tauri-plugin-store`.
- Validation engine: 16 rule types defined (6 implemented: element-exists, file-contains, file-not-contains, css-property, nesting, composite). Unimplemented types warn at runtime.
- First lesson: "La structure d'une page HTML" (5 checkpoints: head, body, title, h1, p).
- First challenge: "Crée une page simple" (3 checkpoints: h1, p, background-color).
- Continue card shows in-progress lessons with priority over projects.
- In-app changelog modal opened from the Home rail footer ("Nouveautés de la vX.Y.Z").

### Changed

- Home rail nav items are now semantic `<button>` elements with hover, focus, and disabled states.
- IDE shortcuts (Ctrl+Tab, Ctrl+W) work in lesson view. Ctrl+N is blocked when file ops are locked.
- Dock header is a `<button>` with `aria-expanded` instead of a `<div>`.
- StatusBar shows checkpoint progress instead of version number in lesson mode.
- FileTree hides create/delete/rename in lesson mode; context menu shows only "Ouvrir".

### Fixed

- Dock collapse now works correctly (`overflow: hidden` restored).
- CSS `rule.property` is regex-escaped before interpolation into `new RegExp()`.
- Template selector buttons no longer show a parasitic amber focus ring on click.
- `ContinueLessonCard` displays "Challenge" instead of "Leçon" for challenge type.
- Regex `/g` flag statefulness bug in CSS property checker (lastIndex persisted across calls).
- `startLesson` calls `syncVfsNow` so the preview iframe loads starter files immediately.

## [0.2.0-2] — 2026-04-23

Pre-release. Security hardening, accessibility baseline, transactional project
Expand Down
28 changes: 28 additions & 0 deletions src/changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,33 @@
# Nouveautés

## v0.3.0 — 27 avril 2026

### Ajouté

- **Système de leçons** — des leçons guidées pas à pas avec validation en temps réel. L'app vérifie ton code à chaque modification et coche les objectifs au fur et à mesure.
- **Système de challenges** — des défis libres où tu dois atteindre un objectif sans instructions détaillées. Tu peux créer et supprimer des fichiers.
- **Navigation par onglets dans l'Accueil** — le rail gauche est maintenant un routeur : clique sur Leçons ou Challenges pour voir la liste complète avec ton avancement.
- **Compteur de progression** — le rail affiche combien de leçons tu as terminées (ex : `1 / 2`).
- **Carte « Reprends »** — si tu as une leçon en cours, la carte de reprise la montre en priorité sur les projets.
- **Première leçon** : « La structure d'une page HTML » — apprends `<head>`, `<body>`, `<title>`, `<h1>`, `<p>` avec 5 checkpoints.
- **Premier challenge** : « Crée une page simple » — un titre, un paragraphe et une couleur de fond.
- **Modale changelog** — clique sur « Nouveautés de la vX.Y.Z » dans le rail pour voir l'historique des mises à jour.

### Amélioré

- Les raccourcis clavier (Ctrl+Tab, Ctrl+W) fonctionnent en mode leçon. Ctrl+N est bloqué (pas de création de fichier en leçon).
- Le dock leçon est un vrai `<button>` accessible au clavier (avec `aria-expanded`).
- Le menu « Ouvrir » en clic droit sur un fichier fonctionne en mode leçon.
- La barre de statut affiche la progression des checkpoints au lieu de la version en mode leçon.

### Corrigé

- Le dock se replie correctement (le contenu ne déborde plus sous le header).
- Le contour ambre ne s'affiche plus sur les boutons de sélection de template.
- La propriété CSS dans les règles de validation est correctement échappée (pas de faux match avec des caractères spéciaux).

---

## v0.2.0-2 — 25 avril 2026

### Ajouté
Expand Down