diff --git a/CHANGELOG.en.md b/CHANGELOG.en.md
index 5a7cf331..debb7487 100644
--- a/CHANGELOG.en.md
+++ b/CHANGELOG.en.md
@@ -2,903 +2,576 @@
[Français](CHANGELOG.md)
-Updates by date and platform. Within each group: Add, Change, Fix, Note, Test. Entries describe the state at their date; a fix in development requires an updated installed version.
-
-
-
-## 14/10/2026 : 2.7-preview.21
-
-
-
-### 
-
--   : Unavailable-feature messages are easier to read in light and dark themes.
--   : Contact names now appear when the call history first loads.
--   : Additional dictionaries available offline; improved Gaia keyboard activation and recovery. Verification on affected devices is still needed.
--   : Storage panels restored. A loading error no longer locks the other menus.
-
-### 
-
--   : Read Android contacts, SMS and call history in Gaia after granting access. Existing local Vulpes data is preserved.
--   : Return to Vulpes without a persistent white overlay; a closed catalogue can be reopened.
--   : The reported blank keyboard still needs reproduction on the affected devices.
--   : First, read-only integration, excluding MMS. Sending and editing Android records use Android apps; new Gaia contacts stay local. SMS and call log access depend on ROM and installer permissions. Tested on Android 9; other versions need verification.
-
-### 
-
--   : Shared Gaia fixes are included in full installation images and boot updates.
--   : New installation image built; Pixel boot and flashing must be tested before publication.
+Desktop, Android (APK) and Tundra/Sargo. Status indicates development sources, a built APK or a published release. Source changes require an update to the installed package.
-## 13/10/2026 : 2.7-preview.20
+## 2.7-preview.20 — APK built · 13 October 2026
-
-
-### 
-
--   : Video mode, with thumbnails and playback in Gallery and Video.
--   : Improvements to settings, appearance, pickers, keyboard, contacts and media.
--   : More reliable camera switching, shutdown and resume.
--   : Mozilla Account, Sync, remote location, extensions and USB transfer remain incomplete.
-
-### 
-
--   : Preview 20 APK available.
--   : Calls and SMS use Android. This Preview has not yet been validated in use on Android.
-
-### 
-
--   : Preview runs at around 16 frames per second.
--   : Updates to Wi-Fi, Bluetooth, calls, SMS/MMS and network settings.
--   : Video sound and two-way call audio still need separate testing.
--   : Preview 20 installed on Pixel 3a with data preserved. Wi-Fi connected and 4G registration observed.
-
-### 
-
--   : Simpler French and English history, with badges and platform filters. Shared content for the website and releases.
-
-[Release](https://nnsprod.com/git/oversu/VulpesOS/releases/tag/v2.7-preview.20)
+-  Preview 20 brings together shared fixes since APK Preview 17: Gaia settings, appearance, selectors, keyboard, contacts, Marketplace and media.
+-  Camera: WebM recording with posters and Gallery/Video playback. Microphone permission requested; controls follow hardware capabilities.
+-  Camera: more reliable sensor switching, stopping and resuming. Desktop and Android use their camera APIs; Sargo retains its HAL adapter.
+-  Sargo: Wi-Fi, Bluetooth, calls, SMS/MMS and network settings updates included in the sources. Unimplemented functions remain identified in their panels.
+-  Changelog: simplified French/English text and badges retained; desktop/APK/Sargo filters independent of headings. Markdown, website and release notes generated from one JSON.
+-  APK signed with the previous Preview key; alignment and consistency of 53 shared files verified. Android runtime validation in progress.
+-  Desktop/Sargo Gecko 156.0.1; Android GeckoView 156.0. Gaia 2.7.0. The APK delegates calls/SMS to Android; it does not replace Android telephony.
+-  Experimental Preview: Mozilla account/Sync, remote location, Firefox OS add-ons and USB file transfer remain incomplete. Sargo: preview around 16 fps; recorded sound and call audio require separate qualification.
+-  Pixel 3a: Preview 20 r62 RAM-booted, then flashed to boot_a. Matching readback hash; installed startup, eleven Gaia checks and ten native checks passed. Data retained, Wi-Fi connected and LTE registration observed. No new two-way audio call tested.
-## 12/10/2026 : Video and time
+## In development — 12 October 2026 — Video and clock settings
-
-
-### 
-
--   : Video recording with sound, thumbnails and playback in Gallery and Video.
--   : “Improve Vulpes” opens the project’s issues.
--   : Date and time pickers restored; Keyboard back navigation and list text fixed.
-
-### 
-
--   : Recording checked with a simulated camera.
-
-### 
-
--   : Changes prepared for a future APK; video not yet tested on Android.
-
-### 
-
--   : Improved preview, at around 16 frames per second.
--   : Automatic time depends on network information; time zone remains manual.
--   : Video recording and camera switching checked. Video sound still needs listening tests.
+-  Camera: WebM VP8/Opus recording with microphone permission, poster and storage. Buffer limited to 32 MiB; recording stops before releasing the sensor.
+-  Camera, Gallery and Video: handle WebM files and their posters.
+-  Settings: original Gaia date/time pickers, Back from built-in keyboard settings and unclipped select labels.
+-  Improve Vulpes: link to project issues. Unavailable services explained in their panels.
+-  Desktop: simulated 1920 × 1080 video decoded; photo, gallery, camera resume and navigation checked.
+-  Sargo r61 in RAM: 480 × 640 video decoded, eight front/rear switches passed. Test media deleted; recorded audio not listened to.
+-  Sargo: preview measured around 16 fps versus 12 in the previous test. 30 fps is not reached yet.
+-  Sargo: automatic NITZ time, persistent setting and guarded manual writes. Sync depends on carrier time; no NTP fallback, timezone selected manually.
+-  Android: assets staged and Java compiled, without a new APK or Android video test at this stage. Mozilla account/Sync, remote location, Firefox OS add-ons and USB file transfer remain unimplemented. No flashing or publication.
-## 12/10/2026 : Calls and hotspot
+## In development — 12 October 2026 — Calls and Wi-Fi sharing
-
-
-### 
-
--   : Dialog closing and retry after an error fixed.
-
-### 
-
--   : Settings for call waiting, caller ID and call forwarding.
--   : Hotspot with or without a password.
--   : Slow settings no longer block calls and SMS.
--   : Hotspot activation checked; Internet access from another device still needs testing.
+-  Gaia dialogs: close after opening, complete interrupted transitions and allow retry after rejected validation.
+-  Sargo: longer carrier-service timeout; slow settings separated from voice/SMS commands.
+-  Sargo: call waiting, caller ID and four forwarding rules connected to oFono, with validation and readback.
+-  Sargo: WPA2 or open Wi-Fi hotspot, NetworkManager configuration and compatible firewall. Private password, accessible only to Settings.
+-  r59 in RAM: 69 panels, dialogs and APNs checked on desktop/Pixel. Hotspot saved, started and stopped through Gaia; previous Wi-Fi restored. 44 Python tests and dialog regressions passed.
+-  Internet forwarding to another device untested. Voicemail, call barring, PIN/PUK, Wi-Fi certificates and USB tethering remain open. Android assets synchronized; no new APK, flashing or publication.
-## 12/10/2026 : Network settings
+## In development — 12 October 2026 — Network settings
-
-
-### 
-
--   : IP address and connection speed displayed correctly.
-
-### 
-
--   : Network type selection and mobile access point editing.
--   : More reliable network settings when the modem responds slowly.
--   : Adding, deleting and resetting access points remain incomplete.
+-  Wi-Fi: actual IPv4 address and link speed; no “undefined” label when a measurement is missing.
+-  Sargo: GSM/UMTS/LTE selection and editing of existing Internet/MMS APNs, with validation and readback.
+-  APNs: reject changes to active profiles, protect IMS and passwords, attempt rollback after failure and report its result.
+-  Sargo: bounded queue for slow settings. Call status read in 20 ms during a five-second settings wait.
+-  38 Python tests, 69 desktop panels and APN/network workflows on RAM-booted Pixel checked. Android assets synchronized.
+-  APN creation, deletion and reset unavailable. Manual carrier selection and certificates still open. No new APK, flashing or publication.
-## 12/10/2026 : Settings review
+## In development — 12 October 2026 — Settings audit
-
-
-### 
-
--   : Navigation, accessibility and help fixed. Incomplete panels remain visible.
--   : Menus reviewed; some actions still depend on hardware or the carrier.
-
-### 
-
--   : Storage information and downloads connected.
-
-### 
-
--   : Display of storage used by Vulpes.
-
-### 
-
--   : Mobile data, roaming, time, hidden Wi-Fi networks and Sound panel fixed.
+-  Settings: recover navigation after a controller or dialog fails; consistent module generation.
+-  Accessibility filters and Vulpes support. Original panels retained with explanations for unavailable features.
+-  Desktop: profile statistics and Gecko downloads. Android: private storage statistics.
+-  Sargo: mobile data, roaming, clock and hidden Wi-Fi connected. Legacy network errors in Sound settings fixed.
+-  97 views inventoried; 69 desktop/Pixel panels opened and seven native dialogs checked. Storage, data and timezone read back after writes on r51 in RAM.
+-  Contextual views and unavailable services are not all qualified. Android Java compiled, without a new APK. No flashing, ticket closure or publication.
-## 12/10/2026 : Settings navigation
+## In development — 12 October 2026 — Settings navigation
-
-
-### 
-
--   : Light/Dark selection and picker confirmation or cancellation restored.
--   : Manager adapted to single-SIM phones.
-
-### 
-
--   : SIM information, message centre and delivery reports.
--   : Faster loading of saved networks.
--   : Wi-Fi certificates, SIM security and USB storage remain incomplete.
+-  Dropdowns: Gaia selector with confirm/cancel; Light/Dark choice accessible. SIM manager adapted to one slot.
+-  Unavailable panels: explanations and disabled controls instead of unresponsive links.
+-  Sargo: saved Wi-Fi networks separated from slow scans; cache preserved during status reads.
+-  Sargo: SIM information, SMS centre and delivery reports connected to the modem.
+-  r45 in RAM: eight appearance checks, five panels and actual SMS report setting changes passed, then setting restored. Desktop selector checked; APK assets staged.
+-  Enterprise certificates and other carrier options still unavailable. No SMS sent, new APK, flashing or publication.
-## 12/10/2026 : Appearance on Pixel 3a
+## In development — 12 October 2026 — Shared fixes on Pixel 3a
-
-
-### 
-
--   : Shared light and dark modes available on Pixel 3a.
--   : Settings fixes and Firefox OS fonts included.
--   : No new call, SMS or Bluetooth test at this stage.
--   : Themes and display checked on the phone.
+-  Sargo: r39 RAM boot with shared fixes and initial dark mode. r35 kernel and hardware configuration preserved.
+-  Boot, viewport size, persistent settings, battery, call UI and Fira checked. Modem, audio, Wi-Fi and Bluetooth services active.
+-  Seven Gaia appearance checks passed: propagated theme, readable headers, aligned labels and return to light mode. Pixel screenshot inspected.
+-  Tool to update Gaia in a private boot image, with hashes, retained sources and checks for unchanged hardware components.
+-  No new call, SMS or pairing tested. Full theme and Android behavior still need qualification. No new APK, flashing or publication.
-## 11/10/2026 : Appearance and keyboard
+## In development — 11 October 2026 — Appearance and shared keyboard
-
-
-### 
-
--   : Light, Dark and System modes, preserved after restart.
--   : Text selection and deletion fixed.
-
-### 
-
--   : Themes and SMS typing checked.
-
-### 
-
--   : Experimental Gaia keyboard; Android keyboard remains the default.
--   : Retry available when the camera is busy.
--   : Preview 19 built; themes, keyboard and front camera still need testing on Android.
+-  Appearance: Light, Dark or Follow system, shared between apps and retained across restarts. Wallpapers, photos and external websites preserved.
+-  Keyboard: shared editing operations, selection and deletion, protection against late replies.
+-  Desktop: nine appearance checks and Messages input gestures passed, without sending SMS. Visual review of Settings, Messages, Phone and Contacts.
+-  Android: experimental Gaia keyboard option; Android keyboard remains the default, input mode restored on close.
+-  Android: briefly retry the same busy sensor, without retrying after permission denial or closing Camera.
+-  Preview 19 built locally: signature, alignment, parity and bridge/camera tests passed.
+-  Gaia keyboard, Android front camera and full theme still need qualification. Sources ready for Sargo, which remained on r35 at this stage. No upload, flashing or ticket closure.
-## 11/10/2026 : Settings and home screen
+## In development — 11 October 2026 — Settings and homescreens
-
-
-### 
-
--   : Second home screen, wallpaper previews and installation banner fixed.
--   : Error message dismissal restored.
--   : Ringtones, lock code, permissions and French/English labels fixed.
-
-### 
-
--   : Open the notification tray by tapping the status bar.
--   : Preview 18 built locally.
-
-### 
-
--   : Returned to the previous version after an unstable interface restart.
--   : Operation confirmed by the user.
+-  Settings: ringtone management, PIN entry/deletion, lock disabling and third-party app permission list.
+-  Home: first initialization of the second launcher and wallpaper previews.
+-  Languages: refresh Vulpes labels after language changes; English fallback outside French. Dismiss camera failure panels and installation banners.
+-  Android: open the Gaia tray by tapping the status bar. Preview 18 built, signed and compared with sources.
+-  Desktop: nine Gaia workflows, five banner checks and twelve activity/camera tests passed. Sargo r35 Bluetooth confirmed by the user.
+-  Compositor hot restart still unstable: files restored and return to r35. Fixes not yet qualified on Sargo at this stage; Android keyboard/theme open. No APK publication or flashing.
-## 09/10/2026 : MMS and Bluetooth
+## In development — 9 October 2026 — MMS and Bluetooth
-
-
-### 
-
--   : Gaia panels connected to each platform’s capabilities.
-
-### 
-
--   : Discovery, pairing, connection, forgetting devices and audio output.
--   : Sending preserved and resumed after interruption.
--   : MMS accepted by the carrier, delivery not confirmed. Headset call audio still needs testing.
--   : Bluetooth audio playback to a PC checked.
+-  Bluetooth: shared Gaia adapter, separate hardware commands and access restricted to authorized apps.
+-  Sargo: power, discovery, explicit pairing, connection and removal from Gaia Bluetooth settings. Bluetooth audio modules included.
+-  Sargo: Qualcomm network services and MMS transport connected. D-Bus disconnect no longer terminates the MMS daemon. Persistent state, retry without duplicates or uncertain automatic resends.
+-  r35 in RAM: image MMS visible and accepted by Orange MMSC; recipient delivery still unconfirmed. Five Bluetooth devices discovered, A2DP to desktop verified.
+-  191 Tundra Python tests and 18 JavaScript tests passed. Smaller ramdisk and synchronized Android assets.
+-  Headset call audio unqualified. No new APK, flashing or push at this stage.
-## 08/10/2026 : Camera and MMS
+## In development — 8 October 2026 — Camera and MMS transport
-
-
-### 
-
--   : Camera switching, shutdown and display after rotation fixed.
-
-### 
-
--   : Attachments preserved and sending shown as pending until confirmation.
-
-### 
-
--   : Preview measured at around 16 fps on the rear camera and 25–27 on the front.
--   : Real sending still blocked by the mobile data connection.
--   : Focus, zoom and photo capture checked.
+-  Camera: stop the stream before detaching video; await sensor closure, reset the viewfinder and recalculate size after rotation.
+-  MMS: preserve Blob attachments and keep messages pending until transport confirmation.
+-  Sargo: reused WebGL viewfinder without intermediate video capture; screen stays awake during preview.
+-  Desktop and Sargo: Camera/Gallery workflows and eight native switches checked. JPEG, focus and zoom working; rear ~16 fps, front ~25–27 fps in this test.
+-  Sargo: persistent MMS queue, Nuntium codec and oFono transport. Text/photo UI tested with simulated transport.
+-  Mobile data blocked carrier MMS at this stage. Android assets synchronized; no new APK, flashing or push.
-## 08/10/2026 : Call history and dialogs
+## 8 October 2026 — Call-log redial and error dialogs
-### 
-
--   : Readable error messages with usable buttons.
-
-### 
-
--   : Clear message when sending is unavailable, without losing the draft.
--   : Calling back from call history restored.
-
-### 
-
--   : Flow checked with simulated calls; real audio not tested.
+-  Gaia dialogs: visible text instead of a grey screen with a lone button.
+-  Call log: redial through the same service as the keypad, without legacy Gecko APIs. Shared desktop/Android/Sargo file.
+-  MMS: clearly report unavailable sending, retain text and attachments, no false airplane-mode message.
+-  Desktop: FR/EN dialogs and preserved composer. RAM-booted Sargo: 11 Gaia checks passed, redial tested with a simulated modem.
+-  No real call or audio validation at this stage. Android assets synchronized, no new APK published.
-## 08/10/2026 : SMS and audio
+## In development — 8 October 2026 — SMS and audio
-
-
-### 
-
--   : Volume display, lock screen and notification swiping fixed.
--   : Send with one tap without first closing the keyboard. Attachment menu restored.
-
-### 
-
--   : Call audio routing fixes.
--   : Network issues prevented testing a real conversation; two-way audio not confirmed.
+-  SMS: send in one tap while keeping the keyboard. Paperclip connected to the Gaia image, audio, video or contact menu.
+-  UI: visible volume indicator, lockscreen gestures and notification swiping fixed.
+-  Desktop: keyboard, attachments, Gallery, call UI and volume checked; notification swiped without moving the page. No new APK published.
+-  Sargo: PulseAudio access, Qualcomm relay, D-Bus protocol and calibration devices restored. Conflicting Android audio service removed.
+-  Sargo: 11 Gaia checks, calibration and rear/front/rear previews passed.
+-  Calls failed before ringing with a network error in this test. Two-way audio, Pixel gesture and MMS still unverified. No flashing or publication.
-## 08/10/2026 : Network reliability
+## In development — 8 October 2026 — Telephony reliability
-
-
-### 
-
--   : Messages linked to the correct conversation.
-
-### 
-
--   : Improved modem recovery; retries avoid duplicate calls and SMS.
--   : Network stability and two-way audio still need confirmation.
--   : Return to the 4G network after modem restart checked.
+-  Sargo: radio service survives client closure. No automatic new call or SMS after a lost response. Errors exclude phone numbers and message text.
+-  Network/audio diagnostics without personal identifiers, and pinned carrier settings in the native image.
+-  SMS: wait for the actual Gaia manager and accept uppercase oFono IDs. Conversation checks restored without resending.
+-  Sargo: LTE restored after reboot, SMS confirmed sent by the modem, non-silent microphone and audio playback accepted.
+-  Recipient delivery, two-way call audio and modem stability remain unqualified. Compositor hot restart unstable. No new APK, flashing or push.
-## 08/10/2026 : Public source code
+## 8 October 2026 — Public source update
-### 
-
--   : Camera, contacts, SMS and Marketplace fixes published, with updated French/English project overviews.
-
-### 
-
--   : Building from a fresh repository copy fixed.
--   : The public APK remains Preview 17; these fixes are in the source code.
-
-### 
-
--   : Network search still unstable at this stage; no new image published.
+-  Published Camera, Contacts, SMS and Marketplace fixes, plus Sargo build and recovery tools.
+-  Updated French and English READMEs with verified features and limitations.
+-  Create the report directory when checking Android asset parity in a fresh checkout.
+-  Checked native Wi-Fi configuration: no bundled connection profiles.
+-  Internal documents, personal data and keys excluded from the repository.
+-  Public APK unchanged (Preview17); October 8 fixes not included. No new native image published.
+-  Sargo: modem still searching for a network; call audio, Bluetooth pairing and profiles await validation.
-## 08/10/2026 : Camera and contacts
+## 8 October 2026 — Camera and Contacts workflows · in development
-
-
-### 
-
--   : More reliable opening and camera switching.
--   : Photos, dates, edits and number selection from Messages or Phone fixed.
--   : Media selection fixed.
--   : Fixes in source code; public APK unchanged at this stage.
-
-### 
-
--   : Number and text passed correctly to the Android app.
-
-### 
-
--   : Discovery available; pairing and audio use still need testing.
--   : Photo capture, focus, zoom and camera switching checked.
+-  Camera: corrected sequential opening, sensor cleanup and front/rear identification.
+-  Contacts: corrected photo and date transport on desktop, Android and Tundra.
+-  Contacts: restored refresh after editing, SMS handoff, number picking and dialer prefilling.
+-  Gallery: open the contact photo picker even when the app is already running.
+-  Sargo: include corrected Contacts files in the boot image.
+-  Android: pass recipients and text to the SMS app, including replies and unconfirmed typed numbers.
+-  Tests for camera lifecycle, contact storage, permissions, binary transport and activities.
+-  Desktop: verified JPEG capture, Gallery, contact photos, creation, editing, search, favourites and deletion. No calls or SMS sent.
+-  Sargo in RAM: verified autofocus, zoom, four camera switches, capture and Gallery; tested Contacts with touch input.
+-  Sargo: checked stored conversations, keyboard and notifications; detected four Wi-Fi networks. New SMS and call audio await validation.
+-  Sargo: BlueZ and dependencies pinned by SHA256. Power-on and discovery tested; pairing and profiles await validation.
+-  Sargo: native certificate store. Tested HTTPS, corrupted archives, file collisions and repeated builds.
+-  Published Preview17 with download and SHA256 checks. These fixes remain in source; Android SMS needs a real-device test. No Sargo flash.
-## 06/10/2026 : Marketplace theme
+## 6 October 2026 — Embedded Marketplace theme · in development
-
-
-### 
-
--   : Integration planned for a future APK.
-
-### 
-
--   : Embedded theme: Fira font, compact navigation, touch buttons and scrollable screenshots.
--   : Embedded display preserved during search, filtering and language changes.
--   : Theme prepared locally, not yet deployed to the website.
--   : French and English pages checked on small screens.
+-  Marketplace: embedded theme with local Fira fonts, compact navigation, touch controls, collapsible filters and scrolling screenshots.
+-  Preserve `mode=app` across navigation, search, filters and language changes.
+-  Hide website headers in embedded mode. Gaia handles confirmations; the catalogue receives no extra privileges.
+-  Checked 16 French/English pages, 2 standard pages and mobile layouts at 320 and 360 pixels.
+-  Theme ready locally, not deployed. Desktop and Sargo launchers updated; Android integration pending the next APK.
-## 06/10/2026 : Notification banners
+## 6 October 2026 — Gaia banners · in development
-
-
-### 
-
--   : The “Application installed” banner disappears automatically and is replaced correctly.
-
-### 
-
--   : Banner display and dismissal checked.
-
-### 
-
--   : Fix prepared for the next APK.
-
-### 
-
--   : Banner disappearance after five seconds checked.
+-  Automatically dismiss the “Application installed” banner even without an animation-end event.
+-  Cancel old timers when a new banner replaces the previous one.
+-  Desktop: checked display, expiry, replacement and click dismissal. Sargo: verified dismissal after five seconds in RAM.
+-  Fix available in shared sources for the next APK. No flash or release.
-## 06/10/2026 : Wi-Fi and settings
+## 6 October 2026 — Wi-Fi and Settings panels · in development
-
-
-### 
-
--   : Panels open even when an animation does not finish normally.
-
-### 
-
--   : Fixes not yet included in the public APK.
-
-### 
-
--   : Detected networks and disconnections displayed correctly.
--   : Search, connection and Internet access checked.
+-  Settings: open panels even without an animation-end event, without duplicate initialization.
+-  Sargo: corrected Wi-Fi events to restore network results and report disconnection properly.
+-  Sargo: detected four access points grouped into two networks. Connection confirmed and HTTPS request passed with certificate verification.
+-  Shared sources, desktop server and Sargo RAM trial updated. Fixes not included in the public APK.
-## 06/10/2026 : Marketplace navigation
+## 6 October 2026 — Marketplace · in development
-
-
-### 
-
--   : Local message with a Retry button when the catalogue is unavailable.
--   : The catalogue stays below the status bar and hides when returning home or closing it.
--   : An earlier error no longer hides a new attempt.
-
-### 
-
--   : Navigation, errors, returning home and closing checked.
-
-### 
-
--   : Preview 17 rebuilt locally, without a new Android test.
-
-### 
-
--   : Interface tested with a local page; remote catalogue not checked without Internet.
+-  Desktop/Sargo: keep Marketplace below the status bar, hide it on Home and remove it when closed.
+-  Cancelled navigation or an old error page no longer hides a retry.
+-  Local error message with a Retry button when the catalogue is unavailable.
+-  Desktop: verified navigation, network errors, retry, Home and closing.
+-  Sargo in RAM: seven checks passed with a local page and forced unlock. Remote catalogue not validated without Internet access.
+-  Rebuilt local Preview17 APK; checked signature, alignment and assets. No new Android device test or release.
-## 05/10/2026 : 2.7-preview.17
+## 2.7-preview.17 — APK built · 5 October 2026
-
-
-### 
-
--   : Install, launch and uninstall packaged web apps.
--   : Vulpes catalogue on the home screen, in French and English, with its original icon.
--   : Installed apps kept separate from system apps.
--   : Some old Firefox OS apps and APIs are not yet supported.
-
-### 
-
--   : Installation and use of 2048 checked.
-
-### 
-
--   : 2048 installed, preserved after restart and uninstalled on an Android emulator.
-
-### 
-
--   : Home screen checked; app installation still needs validation on Pixel.
+-  Marketplace on Home with its original icon and the Vulpes catalogue in French or English.
+-  Confirmed ZIP app installation, launch from Home and removal.
+-  Installed apps isolated from Gaia sources and system privileges.
+-  Desktop: full 2048 workflow plus archive, path, limit, cancellation and single-use confirmation checks.
+-  Preview17 APK built and signed with Marketplace, GeckoView and private package storage.
+-  Android 16/API 36 emulator: 2048 installation, launch, isolation, persistence after app restart and removal.
+-  Sargo in RAM on October 6: Home and Marketplace assets verified, 9 of 10 system checks passed. Viewport changes on unlock; package installation awaits validation.
+-  Initial support for packaged web apps. Legacy privileged APIs and hosted apps not restored. No release at this stage.
-## 05/10/2026 : 2.7-preview.16
+## 2.7-preview.16 — APK built · 5 October 2026
-
-
-### 
-
--   : Vulpes startup logo.
--   : Unwanted horizontal scrolling removed; test apps hidden.
--   : Wallpaper and sound selection restored. Home screen language applied and preserved after restart.
--   : APK built, not published; Pixel image tried without permanent installation.
-
-### 
-
--   : Android bars hidden and accessible by swiping; launcher mode checked.
--   : Return from sleep and the lock screen camera fixed.
-
-### 
-
--   : Old files no longer overwrite updates at startup.
+-  Restored Gaia wallpaper and sound pickers, return to Settings and cancellation through Home.
+-  Apply language changes to Home and preserve them after restart.
+-  Restore horizontal page snapping; hide development apps on Home.
+-  Vulpes startup logo and sound list adapted to the current engine. Media transport shared by desktop and Android.
+-  Android: Gaia locking after sleep and Back from the lockscreen camera. HOME launcher mode validated.
+-  Android: hide system bars in immersive mode, with swipe access. Preview16 APK built and signed.
+-  Desktop and Android 16/API 36 emulator: checked wallpapers, sounds and panels; tested language, locking and wallpaper persistence on Android.
+-  Sargo: updated the boot image to stop restoring outdated files.
+-  Sargo in RAM: 6 UI and 10 system checks passed. Installed build remains Preview15, without flashing.
+-  APK not published. FFAA installation and call audio await validation; Gaia sound selection does not change the Android ringtone.
-## 04/10/2026 : Standalone installation
+## In development — 4 October 2026 — Standalone Sargo installation
-
-
-### 
-
--   : Installer with device and file checks before writing.
--   : Standalone Vulpes installation without going through Droidian.
--   : Package not published; tested on one Pixel only. Installation replaces phone data.
--   : Backups checked; full restoration still needs testing.
--   : Installed boots, saved settings, camera, keyboard and notifications checked.
+-  Sargo: standalone ext4 userdata volume with system, data and vendor/modem components. Installation independent of Droidian and ADB.
+-  Fastboot installer with model, unlock, size and checksum checks. Replaces userdata, dtbo_a, vbmeta_a and boot_a; retains calibration.
+-  Full userdata backup and recovery archive verified before flashing. Actual restoration not tested.
+-  Two installed boots passed: 11 Gaia and 10 native checks per boot, retained settings and matching boot readback.
+-  Variant without SSH or maintenance keys booted after flashing. Development variant reinstalled; camera, keyboard and notifications checked.
+-  Local Fastboot package assembled; 44 targeted tests passed.
+-  Package unpublished: hardware component provenance and redistribution pending. Tested on one Pixel 3a; 8 GiB volume with 1 GiB writable, without automatic expansion.
-## 03/10/2026 : Per-device installation
+## In development — 3 October 2026 — Per-device Sargo installation
-
-
-### 
-
--   : Preparation adapted to each Pixel, with device-specific backups.
--   : Focus sometimes times out; issue still open.
--   : Direct installation from stock Android not yet available.
--   : Temporary boots, saved settings and return to the previous installation checked.
+-  Sargo: portable device workspace for builds, installation and recovery, independent of the development Pixel inventory.
+-  Read-only collection of six boot partitions and storage, bound to the phone identity. Private backups.
+-  SSH transfer with identity, storage and checksum checks, without overwriting, formatting or flashing.
+-  Two RAM boots: 11 Gaia and 10 native checks passed each; setting retained. Autofocus timed out on the first trial; camera worked on the second.
+-  Return to the installed build verified; boot unchanged and data overwrite rejected.
+-  Autofocus timeout not considered fixed. Exact HAL provenance still pending; qualified kernel and compatible ext4/LVM storage required, without direct installation from stock Android.
-## 03/10/2026 : Installation and recovery
+## In development — 3 October 2026 — Sargo preparation and recovery tools
-
-
-### 
-
--   : Package preparation and recovery kit with a boot backup.
--   : Restoration possible without booting the diagnostic tool.
--   : Preparation checked locally; installation on another Pixel still needs completion.
-
-### 
-
--   : Shared history included in upcoming source releases.
+-  Sargo: local package preparation with checksum checks, bounded extraction, ext4 validation and fresh data creation without overwriting.
+-  Private recovery kit with boot_a backup and model, serial, slot and checksum checks. User data not included.
+-  Restoration works without the diagnostic image.
+-  System builds require a complete ARM64 hardware reference.
+-  System archive prepared and recovery kit checked locally. Installation on another Sargo pending; no flash or ROM release.
+-  JSON changelog included in future source releases; working documents excluded.
-## 03/10/2026 : Modem and first startup
+## In development — 3 October 2026 — Sargo modem recovery and fresh installation
-
-
-### 
-
--   : Recover the modem without restarting the whole phone.
--   : Fonts and modem initialization fixed on a fresh installation.
--   : Intermittent modem restarts still need fixing; public package incomplete.
--   : Cameras, focus, zoom, keyboard, notifications and Wi-Fi search checked.
+-  Sargo: corrected font cache and first-boot creation of oFono’s private directory in the system image.
+-  Modem recovery without rebooting the phone. Network registration took about 22 seconds in a controlled trial.
+-  Fresh profile: checked Gaia, hardware rendering, Fira, both cameras, focus, zoom, keyboard and notifications. Wi-Fi scan worked after modem restart.
+-  Two boots retained settings in a separate data image. Existing installation preserved.
+-  IMS watchdog root cause unresolved. Public installation and recovery package still incomplete; no image released.
-## 01/10/2026 : Preparing distribution
+## October 1, 2026 — Sargo distribution preparation — in development
-
-
-### 
-
--   : Preparation of an image with clean user data.
--   : Font display on first boot fixed.
--   : Image not published. Calls, SMS and mobile data still need end-to-end testing.
--   : Intermittent modem restart identified.
--   : SIM, 4G, Wi-Fi search, cameras, keyboard and notifications checked in a temporary boot.
+-  Sargo: rebuilt Preview15 image with empty profiles, licenses and an inventory of 493 packages. Working documents excluded.
+-  Mount table generated from the storage inventory. Support limited to a single ext4 extent on userdata.
+-  First-boot font cache permissions: run fc-cache as the session user.
+-  Filesystem, content and transfer checks passed. RAM trials left boot_a unchanged; return to v59 verified.
+-  SIM, LTE, Wi-Fi scan, Gaia, hardware rendering, Fira, cameras, keyboard and notifications checked in RAM.
+-  Targeted recovery after tracing intermittent reboots to IMS firmware. Second boot passed; recovery from another IMS crash not tested.
+-  Image qualification incomplete; end-to-end calls, SMS and mobile data unvalidated. Image unpublished and non-flashable.
-## 30/09/2026 : 2.7-preview.15
+## 2.7-preview.15 — 30 September 2026 — published
-
-
-### 
-
--   : First publication of Desktop, Android and Tundra source code, with French/English project overviews.
--   : More reliable camera stream shutdown and replacement.
--   : Dates and sending statuses fixed in conversations.
-
-### 
-
--   : Navigation, settings, gestures and saved data checked.
-
-### 
-
--   : Update, Camera, Gallery and returns from the background checked on an Android emulator.
-
-### 
-
--   : Source code included; universal installation still unavailable at this stage.
--   : Flash, video, rotation, sleep and call audio still incomplete or awaiting tests.
+-  First publication of desktop, Android and Tundra sources, with French/English READMEs, licenses and setup scripts. Private files excluded.
+-  SMS: corrected bubble dates and sent/failed states. Improved camera stream cleanup and replacement.
+-  Desktop: stabilized navigation checks, adjusted cold-start timeout and clean shutdown after Gaia times out.
+-  Desktop with Gecko 156.0.1: 42 service tests, startup, navigation, settings, gestures, history, isolation and persistence checked.
+-  Preview15 APK signed with the previous key and GeckoView 156.0; asset parity verified.
+-  Android 16 emulator: validated update, Camera/Gallery, camera resume, ten background returns and renderer recovery.
+-  Sargo: sources included, private v59 retained. No generic ROM; boot depends on storage layout and preinstalled images.
+-  Sargo: preview around 16 fps; flash, video, rotation and deep suspend incomplete. Call audio and the dialog after SMS sending need investigation.
[Release](https://nnsprod.com/git/oversu/VulpesOS/releases/tag/v2.7-preview.15)
-## 30/09/2026 : SMS and camera follow-up
+## In development — SMS and camera feedback · 30 September 2026
-
-
-### 
-
--   : Camera release and switching fixed.
--   : Empty conversations fixed.
-
-### 
-
--   : Shared sources updated, without a new APK.
-
-### 
-
--   : Vibration now stops correctly.
--   : Dialog after sending SMS and camera smoothness still need fixing.
--   : Focus and zoom confirmed by the user.
--   : Sending and receiving confirmed by the user; conversations displayed.
+-  SMS: convert dates to fix empty conversations.
+-  Camera: corrected stream and sensor cleanup; an old session can no longer close its replacement.
+-  Sargo: physical vibration shutdown through DRV2624, with a safeguard at service startup and exit.
+-  Desktop: SMS composition and display checked with a simulated modem. Sargo: camera switching and shutdown tested over two RAM boots.
+-  Sargo v54: user confirmed focus, zoom and two-way SMS. Five conversations displayed; vibration shutdown confirmed.
+-  Sargo v59 installed on boot_a after two RAM boots; startup, readback and slot A verified.
+-  Post-SMS dialog and camera smoothness still pending. Shared sources updated, without a new APK.
-## 30/09/2026 : SMS and photos
+## In development — Messages and Camera · 30 September 2026
-
-
-### 
-
--   : Failed messages preserved and sending statuses updated.
-
-### 
-
--   : Preview 14 APK unchanged at this stage.
-
-### 
-
--   : Tap to focus and digital zoom. Photos up to 12 MP at the rear and 8 MP at the front.
--   : Preview return after taking a photo fixed.
--   : Delivery to the recipient not yet confirmed.
+-  Desktop/Tundra: retain SMS after modem rejection and pass sending, failed and sent states to Gaia.
+-  Sargo: persist SMS states after the oFono object disappears; reject sending when the modem is unregistered.
+-  Sargo: touch focus, digital zoom and sensor JPEG capture in Gaia Camera.
+-  Measured photos: 4032 × 3024 rear, 3264 × 2448 front. Preview 640 × 480; fixed front focus.
+-  Native camera: separate binary data from HAL logs, bound responses and resume preview after capture or focus errors.
+-  Desktop: checked visible send failures and Camera/Gallery workflows. Sargo v54: validated two RAM boots, installation, persistence and camera.
+-  Unstable network; no end-to-end SMS delivery confirmed in this pass. Modem confirmation is not a delivery receipt. Public APK unchanged (Preview14).
-## 30/09/2026 : 2.7-preview.14
+## 2.7-preview.14 — APK published · 30 September 2026
-
-
-### 
-
--   : Fonts, version information, lock screen and notifications aligned.
-
-### 
-
--   : Larger keyboard, improved text editing and recipient number entry.
-
-### 
-
--   : Startup and fonts checked on an Android emulator.
-
-### 
-
--   : Vibration stopping fixed.
--   : Notifications preserved, conversation opening and duplicate messages fixed.
--   : Saved networks, reconnection and forgetting a network fixed.
--   : Audio controls tested outside calls; conversation audio and notification sounds still need testing.
+-  System information: version alignment and Fira fonts in Shadow DOM components.
+-  Desktop/Tundra: portrait key sizing, cursor placement in the active field and stale input replies.
+-  Desktop/Tundra: Gaia keyboard bridge and numeric keypad for SMS recipients. Android keeps its system keyboard.
+-  Lockscreen: resize without a keyboard window. Honour silent notifications, including after restoration.
+-  Sargo: persistent tray and lockscreen notifications, opening the owning application.
+-  Sargo: cancellable vibrations capped at ten seconds; private persistent Wi-Fi profiles, automatic reconnection and network removal.
+-  Sargo: store incoming SMS before acknowledgement, remove duplicates and create the state directory.
+-  Sargo: earpiece/speaker, microphone mute and call-volume controls. Routing, mute and volume tested outside a call.
+-  Installer: reject flashing diagnostic images with a debugger. Sargo v48 installed after two RAM boots; persistence, readback and slot A verified.
+-  Desktop: Calendar and keyboard checked. Sargo: keyboard, notifications and Wi-Fi reconnection checked; notification sound and real telephony await validation.
+-  Preview14 APK signed and published. Startup, versions and fonts checked on an Android 16 emulator. No Sargo image released.
[Release](https://nnsprod.com/git/oversu/VulpesOS/releases/tag/android-2.7-preview.14)
-## 27/09/2026 : 2.7-preview.13
+## 2.7-preview.13 — application workflows · 27 September 2026
-
-
-### 
-
--   : Event reminders fixed, including after deletion.
--   : Initial display and closing the editor fixed.
--   : Conversation filters fixed.
-
-### 
-
--   : Photo, video, calendar and conversations checked.
-
-### 
-
--   : Camera, Gallery, Calendar and background resume checked.
-
-### 
-
--   : Camera, Wi-Fi and brightness checked on the installed version.
+-  Calendar: save events with alarms, report scheduling errors and skip reminders for deleted events.
+-  Notifications: accept empty text; do not mark rejected notifications as delivered. Native Tundra support still incomplete.
+-  Gallery: thumbnail sizing at hidden startup and cancellation of updates after closing the editor.
+-  SMS: apply correspondent, read-state, date and delivery filters.
+-  Desktop: checked WebM playback, photo editing and copying, calendar, conversation reading and deletion.
+-  Isolated checkout: startup, desktop tests, persistence and Android packaging passed.
+-  Preview13 APK built and signed. Camera/Gallery, Calendar, ten background returns and renderer recovery validated on emulated Android 16.
+-  Sargo v40 installed after two RAM boots; Gaia, camera, Wi-Fi, brightness, controls and boot_a readback verified.
-## 27/09/2026 : 2.7-preview.12
+## 2.7-preview.12 — application review · 27 September 2026
-
-
-### 
-
--   : Local start page, in French or English according to language.
--   : SMS conversations and Calendar translations fixed.
--   : Camera switching and interface zoom fixed; flash disabled when unavailable.
--   : Sharper icons, long press on Home and gestures fixed.
-
-### 
-
--   : Smoother preview, at around 23 frames per second in testing.
--   : More responsive brightness and Wi-Fi connection fixed.
--   : Video, flash, Bluetooth and advanced call settings remain incomplete.
+-  Gaia icons: restored 1× to 2.25× variants across 1,047 CSS references.
+-  Camera: enable switching after sensor detection and prevent pinch zoom on the UI. Unavailable flash disabled.
+-  Home: restore long press and gesture forwarding without additional privileges for websites.
+-  Browser: local bilingual welcome page following Gaia’s language without restarting.
+-  SMS: corrected identifiers, migration, dates, sending events, multi-recipient requests and concurrent writes.
+-  Calendar: restored the current-day accessibility label in 37 languages.
+-  Reviewed 14 apps; 26 Gallery/Music/Clock/UI checks, Contacts/SMS tests and web isolation checks.
+-  Preview12 APK rebuilt with shared assets; parity verified. Hardware features handled separately on Android and Tundra.
+-  Sargo: shader-based NV21 preview and binary transport, about 23 fps measured versus 8 in the intermediate trial.
+-  Sargo: wait for camera worker shutdown before switching sensors; manual brightness reaches its target in about 200 ms.
+-  Sargo: Wi-Fi power control from Gaia and WPA-PSK connections to mixed WPA2/WPA3 networks.
+-  Sargo: scan, connection and HTTPS validated in RAM. v38 installed after two RAM boots, with readback and slot A checks.
+-  Sargo: temporary Wi-Fi profiles; flash, video, sensors, Bluetooth, data counters and advanced call controls incomplete.
-## 27/09/2026 : Interface and hardware
+## In development — Sargo feedback and interface · 27 September 2026
-
-
-### 
-
--   : First local start page.
--   : Original shutdown animation retained, with blue circles.
--   : List and Video text fixed; transparent Home bar adapted to landscape.
--   : Call history headers and icons fixed.
-
-### 
-
--   : Brightness adjustment connected.
--   : Call audio, video, full-resolution photos and rotation still need testing.
+-  Gaia shutdown animation recoloured blue.
+-  Phone: keep headers fixed when changing tabs and use call-log icons up to 2.25× density.
+-  Clipped dropdown text and overflowing Video welcome text.
+-  Brightness: numeric values and coalesced stale commands, preserving sleep/wake order.
+-  Home: wallpaper under the gradient and right-side button in landscape, without covering apps.
+-  Browser: editable local welcome page, retaining private mode.
+-  Wi-Fi: error message and Retry button instead of endless retries.
+-  Preview11 APK built and signed; rotation and Home button placement checked on emulated Android 16.
+-  Sargo: preview, JPEG and camera switching validated in RAM. Capture limited to 640 × 480; flash and video unavailable.
+-  Sargo v33 installed after two RAM boots; startup, data, readback and slot A verified. Brightness and Wi-Fi results checked in Gaia.
+-  Sargo: PulseAudio 14 compatibility and duplicate audio module loading. Call/media profiles and earpiece tested.
+-  Sargo: call audio, full-resolution capture, video and automatic rotation await validation.
-## 27/09/2026 : Wi-Fi stability
+## In development — native Wi-Fi stability · 27 September 2026
-
-
-### 
-
--   : Preview 9 built with shared fixes; Wi-Fi handled by Android.
-
-### 
-
--   : Network discovery stabilized to avoid phone freezes.
--   : Camera and calls remain incomplete.
--   : Lock screen, fonts, date, battery and Wi-Fi checked.
+-  Wi-Fi: restore the 20-second scan interval and coalesce concurrent scans.
+-  Sargo: one hardware scan at a time, with a short cache cleared on connect/disconnect. Fixes memory exhaustion in v21/v22.
+-  Wi-Fi burst, failure and timer tests.
+-  Shared Preview9 version, Gaia 2.7.0; new APK with the same sources. Android still manages its own Wi-Fi.
+-  Sargo v25: two RAM boots then installation, 11 Gaia and 10 system checks passed, without low-memory process kills.
+-  Checked locking, fonts, battery, date and Wi-Fi; tested sleep/wake and volume with injected events. Data, readback and slot A verified.
+-  Native camera and full call validation still pending.
-## 27/09/2026 : Restoring Gaia components
+## In development — Gaia restoration · 27 September 2026
-
-
-### 
-
--   : Credits, startup screen and browser name updated.
--   : Original Gaia panels and styles restored in Settings, Data Usage, FM Radio and imports.
--   : Home button no longer overlaps controls; date, battery and lock screen restored.
-
-### 
-
--   : Launcher mode, access to Android settings and background resume.
-
-### 
-
--   : Initial integration unstable; returned to the previous version.
+-  Restored Gaia Settings, Usage, FM and import panels. Temporary interfaces removed; unavailable features disabled.
+-  Corrected legacy component styles, lockscreen icons and Phone glyphs.
+-  Reserve 44 pixels for Home; restore date and battery without `{{ level }}` placeholders.
+-  Gaia lockscreen re-enabled, splash stabilized, Browser name localized and credits added.
+-  Desktop: 26 app checks passed, plus panels, imports, battery, navigation and simulated calls.
+-  Preview8 APK installed on emulated Android 16: Android battery, settings access and optional HOME mode. Android app catalogue still incomplete.
+-  Emulated Android: ten background returns, renderer recovery and asset parity checked. Gaia locking remains separate from Android security.
+-  Sargo v21/v22: Wi-Fi scan and association connected to Gaia through NetworkManager.
+-  Sargo: RAM trials interrupted by display-service failure (code 139). Return to installed v20 verified, without a new flash.
+-  Candidate Wi-Fi, camera, SIM/Bluetooth APIs and CPU suspend unvalidated.
-## 27/09/2026 : Calls and hardware buttons
+## In development — 27 September 2026
-
-
-### 
-
--   : Gaia incoming and outgoing call interfaces, with call history.
--   : Fira fonts, contacts and battery display fixed.
-
-### 
-
--   : Support for Power and Volume keys, shutdown menu and waking the screen.
--   : Native camera still unavailable.
--   : Ringing and hanging up checked; conversation audio still needs testing.
+-  Gaia Callscreen for incoming/outgoing calls, answer and hangup. Replaces the temporary v13 screen.
+-  Persistent call log with acknowledgement and duplicate detection.
+-  Distinguish unknown battery state from empty battery; tolerate missing or malformed Contacts indexes.
+-  Render system text with Fira Sans while preserving icon fonts.
+-  Desktop with simulated modem: calls, failed hangup and retry, history, sleep/wake, Power menu, volume and battery.
+-  Sargo: Power/Volume buttons connected to Gaia, with native screen, volume, shutdown and reboot controls.
+-  Sargo: serialize brightness and power changes to prevent a black screen on wake; fix PulseAudio access for volume.
+-  Sargo: successful hangup with an empty D-Bus reply no longer produces a false error.
+-  Sargo v13 then v20 installed after RAM trials; startup, readback, settings and slot validation checked.
+-  Real outgoing call reached ringing and was hung up. Incoming calls and conversation audio unvalidated.
+-  Camera diagnostics: a timeout no longer counts as successful initialization. Two sensors detected, without received frames.
+-  Native camera unavailable, CPU suspend and advanced audio controls incomplete. No new APK.
-## 26/09/2026 : Startup and fonts
+## In development — 26 September 2026
-
-
-### 
-
--   : Fira fonts and battery information fixed; test buttons removed from settings.
-
-### 
-
--   : Data preserved in the installed boot.
--   : Stable fullscreen, without automatic gestures or app launches.
--   : Sound and microphone tested separately; call audio, camera and sleep not validated.
+-  Use historical Fira Sans fonts in Gaia and Tundra; correct sans-serif fallback and Fontconfig checks.
+-  Removed diagnostic buttons from Settings.
+-  Hardware panel: pass platform capabilities correctly to display the battery.
+-  Sargo: distinguish modem and transport errors; correct the unavailable-camera message.
+-  Sargo: persistent data on a 2 GiB ext4 image and A/B success validation after installation.
+-  Sargo v8: two boots with persistence, 9 Gaia and 9 system checks per boot. Installation and recovery tools tested locally.
+-  Sargo v9 installed on boot_a: two boots with 10 Gaia and 9 system checks each. Matching readback, five other partitions preserved; actual restoration untested.
+-  Normal startup without automatic diagnostic gestures; fullscreen before Gaia, stable 360 × 740 CSS-pixel layout.
+-  Separate `--diagnostics` mode; diagnostic images excluded from normal launch.
+-  Sargo: v13 tested in RAM (8 startup, 9 system checks), v14 diagnostics (13 interactive checks), including Wi-Fi.
+-  UMTS registration, audio playback and microphone signal checked. Call audio, camera and suspend unvalidated.
+-  Ramdisk builds independent of the desktop language by running readelf in the C locale.
+-  Private trials, without a public ROM. Desktop sources synchronized; shared Android fix available, without a new APK.
-## 25/09/2026 : Home screen and first native trials
+## In development — 25 September 2026
-
-
-### 
-
--   : Round button, transparent background on Home and blue background in apps.
--   : Pressed button state, gradient, fonts and system information fixed.
-
-### 
-
--   : App resume changed in source code, not yet tested on Android.
-
-### 
-
--   : First native image trials with accelerated display and battery support.
--   : Temporary trials; many hardware features still need connecting.
+-  Round Home button, transparent wallpaper gradient and blue bar inside apps.
+-  Hide the gradient at the bottom and restore it when scrolling; remove the blue rectangle when pressing Home.
+-  Bundled Fira Sans weights and italics; separate product, Gaia, engine and platform versions.
+-  Resume icon loading after an initial zero-size measurement on all three platforms.
+-  Desktop: icons, navigation, permissions and French/English information panel checked with Gecko 156.0.1.
+-  Android: retain navigation state after activity recreation. Java compilation passed; visuals need retesting, no new APK delivered.
+-  Tundra: ext4 image with ARM64 runtime, HAL, Phoc, Gecko and Gaia; small fixes bundled in the ramdisk.
+-  Sargo: dedicated backend, Pixel 3a information and hardware battery readings. Build sources archived with checksums.
+-  Sargo: hardware WebRender, icons and fonts checked on a physical display capture. v5: 10 Gaia and 8 system checks passed.
+-  Sargo: add pd-mapper, disable uninitialized IPA and premature camera probing. Copy modem NV data to RAM for trials.
+-  Sargo v6: Wi-Fi scan, connection, IPv4, DNS and HTTPS verified; 13 Gaia and 9 system checks passed. Gaia network selection still pending.
+-  RAM trials without flashing, automatic return after ten minutes and changes lost at shutdown. Cold boot passed; warm compositor restart failed.
+-  No public ROM; modem, audio, camera and suspend still need integration or validation.
-## 2.7-preview.7
+## 2.7-preview.7 — APK built, local reference
-
-
-### 
-
--   : Vulpes, Gaia and Gecko versions shown separately.
-
-### 
-
--   : Improved permission handling and clearer error messages.
-
-### 
-
--   : Resume after the first permission request fixed.
+-  Desktop camera permission and recovery after the first Android permission prompt.
+-  Separate messages for denied permission, missing sensors and opening failures.
+-  Separate product and engine versions: Vulpes Preview7, Gaia 2.7.0, desktop Gecko 156.0.1 and Android GeckoView 156.0.
-## 2.7-preview.6
+## 2.7-preview.6 — APK built
-
-
-### 
-
--   : Gaia Camera app connected to the webcam.
--   : File import and photos available in Gallery.
--   : Camera switching depends on hardware; flash and video unavailable.
-
-### 
-
--   : Gaia Camera app connected to Android cameras.
--   : File import and photos available in Gallery.
--   : Camera switching depends on hardware; flash and video unavailable.
+-  Gaia Camera on desktop and Android: preview and JPEG capture through webcam or GeckoView.
+-  Save photos in Gallery and import through the system picker.
+-  Flash and video disabled; camera switching depends on available sensors.
-## 2.7-preview.5
+## 2.7-preview.5 — APK built
-
-
-### 
-
--   : System settings, media and contact imports, notifications and webcam test.
--   : Interface and version numbering aligned with Android.
-
-### 
-
--   : Interface and version numbering aligned with Desktop.
--   : Improved background resume and display recovery.
+-  Versions centralized in `release.json`; product, Gaia and engine separated.
+-  Shared desktop/Android native interface and APK asset parity checks.
+-  Desktop: Linux settings, media/vCard imports, notifications and test webcam capture.
+-  Android: foreground return and recovery after renderer termination.
-## 2.7-156.0.2
+## 2.7-156.0.2 — Historical APK built (revision 4)
-
-
-### 
-
--   : Android settings, sound, brightness, imports and notifications.
--   : Calls, SMS, clock and camera handled by Android apps.
--   : White screens and background resume fixed.
--   : Historical numbering: this number does not represent a Gecko update.
+-  Android: activity and session recovery to reduce blank screens.
+-  Access to Android settings, volume and window brightness.
+-  Media and contact imports; native notifications with permissions.
+-  Handoff to Android Phone, SMS, Clock and Camera. No silent sending or replacement of default apps.
+-  Historical numbering: Android engine Gecko 156.0, despite the 2.7-156.0.2 name.
-## 2.7-156.0.1
+## 2.7-156.0.1 — APK published (revision 3)
-
-
-### 
-
--   : “Vulpes OS – Preview” name and project icon.
--   : Wallpaper flickering fixed.
--   : Historical numbering retained to identify this release.
+-  “Vulpes OS - Preview” name and project icon.
+-  Wallpaper flickering corrected.
+-  Historical numbering, separate from the Android engine version.
[Release](https://nnsprod.com/git/oversu/VulpesOS/releases/tag/android-2.7-156.0.1)
-## 2.7-preview.2
+## 2.7-preview.2 — APK published
-
-
-### 
-
--   : Wallpaper flickering fixed.
+-  Wallpaper flickering in the Android Preview.
[Release](https://nnsprod.com/git/oversu/VulpesOS/releases/tag/android-2.7-preview.2)
-## 2.7-preview.1
+## 2.7-preview.1 — APK published
-
-
-### 
-
--   : First Android Preview to try Vulpes without flashing the phone.
--   : Known wallpaper flickering in this first version.
+-  First Android Preview with Gaia and GeckoView.
+-  Archived version; known wallpaper flickering issue.
[Release](https://nnsprod.com/git/oversu/VulpesOS/releases/tag/android-2.7-preview.1)
-## Early milestones
+## Earlier milestones — technical retrospective
-### 
-
--   : Adaptation of contacts, messages, settings, alarms and storage.
--   : Creation of Vulpes: visual identity, translations and system information.
--   : Move from old Firefox OS engines to a modern Gecko.
-
-### 
-
--   : First native boots and hardware trials on Pixel 3a.
+-  Historical Gaia base with Vulpes branding, wallpaper, translations and system information.
+-  Experimental Gecko 45 to 52 port, followed by separation of Gaia, services and engine.
+-  APIs for settings, apps, contacts, messages, alarms, storage and inter-app communication.
+-  Adapt Gaia components, touch gestures, browser and apps to recent engines.
+-  Gecko updates with checks and rollback; Gaia updates without rebuilding the engine.
+-  Archived Firefox OS apps, QEMU, then ARM64 Gecko inside Droidian and under a dedicated compositor.
+-  Sargo: inventory, boot backups, separate root, HAL services and Tundra PID 1.
+-  Temporary graphical Fastboot trials with SSH recovery and automatic return.
+-  Kernel 4.9-124-google-sargo, Android 9/API 28 adaptation. Historical milestones, without newly dated releases.
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f047bd5f..ac32180c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,903 +2,576 @@
[English](CHANGELOG.en.md)
-Les nouveautés, par date et par plateforme. Dans chaque groupe : Add, Change, Fix, Note, Test. Les entrées décrivent la situation à leur date ; une correction en développement nécessite une nouvelle version installée.
-
-
-
-## 14/10/2026 : 2.7-preview.21
-
-
-
-### 
-
--   : Messages des fonctions indisponibles plus lisibles en thèmes clair et sombre.
--   : Dictionnaires supplémentaires disponibles hors ligne ; activation et reprise du clavier Gaia fiabilisées. La vérification sur les appareils concernés reste nécessaire.
--   : Affichage du nom des contacts rétabli au premier chargement du journal.
--   : Panneaux Stockage rétablis. Une erreur de chargement ne bloque plus les autres menus.
-
-### 
-
--   : Lecture des contacts, SMS et journaux Android dans Gaia, après autorisation. Les données locales de Vulpes sont conservées.
--   : Retour vers Vulpes sans écran blanc persistant ; un catalogue fermé peut être rouvert.
--   : Le rectangle blanc signalé reste à reproduire sur les appareils concernés.
--   : Première étape en lecture seule, hors MMS. Envoi et édition des données Android dans les applications Android ; les nouveaux contacts Gaia restent locaux. Accès SMS et journal selon les autorisations de la ROM et de l’installateur. Essais sur Android 9 ; autres versions à confirmer.
-
-### 
-
--   : Les corrections communes de Gaia sont incluses dans les images complètes et les mises à jour de démarrage.
--   : Nouvelle image d’installation construite ; démarrage et flash sur Pixel à vérifier avant publication.
+PC, Android (APK) et Tundra/Sargo. Les statuts indiquent des sources en développement, un APK construit ou une version publiée. Les changements des sources nécessitent une mise à jour du paquet installé.
-## 13/10/2026 : 2.7-preview.20
+## 2.7-preview.20 — APK construit · 13 octobre 2026
-
-
-### 
-
--   : Mode vidéo, avec miniature et lecture dans Galerie et Vidéo.
--   : Améliorations des paramètres, de l’apparence, des sélecteurs, du clavier, des contacts et des médias.
--   : Changement de capteur, arrêt et reprise fiabilisés.
--   : Compte Mozilla, Sync, localisation distante, extensions et transfert USB restent incomplets.
-
-### 
-
--   : APK Preview 20 disponible.
--   : Appels et SMS utilisent Android. Cette Preview n’a pas encore été validée en utilisation sur Android.
-
-### 
-
--   : Aperçu autour de 16 images par seconde.
--   : Mise à jour du Wi-Fi, du Bluetooth, des appels, des SMS/MMS et des réglages réseau.
--   : Son des vidéos et conversation téléphonique à vérifier séparément.
--   : Preview 20 installée sur le Pixel 3a, données conservées. Wi-Fi connecté et réseau 4G détecté.
-
-### 
-
--   : Historique FR/EN simplifié, badges et filtres par plateforme. Même contenu pour le site et les releases.
-
-[Release](https://nnsprod.com/git/oversu/VulpesOS/releases/tag/v2.7-preview.20)
+-  Preview 20 réunit les corrections communes depuis l’APK Preview 17 : paramètres Gaia, apparence, sélecteurs, clavier, contacts, Marketplace et médias.
+-  Photo : enregistrement WebM avec miniature et lecture dans Galerie/Vidéo. Autorisation micro demandée ; commandes adaptées aux capacités du matériel.
+-  Caméra : changement de capteur, arrêt et reprise fiabilisés. PC et Android utilisent leurs API caméra ; Sargo conserve son adaptateur HAL.
+-  Sargo : mises à jour Wi-Fi, Bluetooth, appels, SMS/MMS et réglages réseau incluses dans les sources. Les fonctions non raccordées restent indiquées dans les panneaux.
+-  Changelog : reprise des textes simplifiés FR/EN, badges conservés, filtres PC/APK/Sargo indépendants des titres. Markdown, site et notes de release issus du même JSON.
+-  APK signé avec la clé des Preview précédentes ; alignement et cohérence des 53 fichiers partagés vérifiés. Validation d’exécution Android en cours.
+-  Gecko PC/Sargo 156.0.1 ; GeckoView Android 156.0. Gaia 2.7.0. L’APK délègue appels/SMS à Android : il ne remplace pas le système téléphonique Android.
+-  Preview expérimentale : Compte Mozilla/Sync, localisation distante, extensions Firefox OS et transfert USB restent incomplets. Sargo : aperçu autour de 16 FPS ; son des vidéos et audio téléphonique à qualifier séparément.
+-  Pixel 3a : Preview 20 r62 démarrée en RAM puis flashée sur boot_a. Empreinte relue identique ; démarrage installé, onze contrôles Gaia et dix contrôles natifs réussis. Données conservées, Wi-Fi connecté et enregistrement LTE observé. Pas de nouvelle conversation audio testée.
-## 12/10/2026 : Vidéo et heure
+## En développement — 12 octobre 2026 — Vidéo et réglages de l’heure
-
-
-### 
-
--   : Enregistrement vidéo avec son, miniature et lecture dans Galerie et Vidéo.
--   : « Améliorer Vulpes » mène aux tickets du projet.
--   : Sélecteurs de date et d’heure rétablis ; retour du menu Clavier et texte des listes corrigés.
-
-### 
-
--   : Enregistrement vérifié avec une caméra simulée.
-
-### 
-
--   : Changements préparés pour un prochain APK ; vidéo non encore testée sur Android.
-
-### 
-
--   : Aperçu amélioré, autour de 16 images par seconde.
--   : Heure automatique selon les informations du réseau ; fuseau horaire encore manuel.
--   : Vidéo et changement de capteur vérifiés. Son des vidéos encore à écouter.
+-  Photo : enregistrement WebM VP8/Opus avec autorisation micro, miniature et stockage. Tampon limité à 32 Mio, arrêt avant libération du capteur.
+-  Photo, Galerie et Vidéo : prise en charge des fichiers WebM et de leurs miniatures.
+-  Paramètres : véritables sélecteurs Date/Heure Gaia, retour du clavier intégré et lettres non tronquées dans les listes.
+-  Améliorer Vulpes : lien vers les tickets du projet. Services non raccordés expliqués dans leurs panneaux.
+-  PC : vidéo simulée 1920 × 1080 relue ; photo, galerie, reprise caméra et navigation vérifiées.
+-  Sargo r61 en RAM : vidéo 480 × 640 relue, huit bascules avant/arrière réussies. Médias de test supprimés ; son enregistré non écouté.
+-  Sargo : aperçu mesuré autour de 16 FPS contre 12 dans le test précédent. 30 FPS restent à atteindre.
+-  Sargo : heure automatique par NITZ, réglage persistant et protection des écritures manuelles. Synchronisation dépendante du réseau ; pas de NTP de secours, fuseau choisi manuellement.
+-  Android : ressources préparées et Java compilé, sans nouvel APK ni test vidéo Android à cette étape. Compte Mozilla/Sync, localisation distante, extensions Firefox OS et transfert USB restent à implémenter. Aucun flash ni publication.
-## 12/10/2026 : Appels et partage Wi-Fi
+## En développement — 12 octobre 2026 — Appels et partage Wi-Fi
-
-
-### 
-
--   : Fermeture des dialogues et nouvelle tentative après une erreur corrigées.
-
-### 
-
--   : Réglages du double appel, de l’affichage du numéro et du renvoi d’appel.
--   : Partage de connexion avec ou sans mot de passe.
--   : Les réglages lents ne bloquent plus les appels et les SMS.
--   : Activation du point d’accès vérifiée ; accès Internet d’un autre appareil encore à tester.
+-  Dialogues Gaia : fermeture après ouverture, transitions interrompues et nouvelle saisie après validation refusée.
+-  Sargo : délai des services opérateur augmenté ; réglages lents séparés des commandes voix/SMS.
+-  Sargo : double appel, présentation du numéro et quatre règles de renvoi raccordés à oFono, avec validation et relecture.
+-  Sargo : point d’accès Wi-Fi WPA2 ou ouvert, configuration NetworkManager et pare-feu adapté. Mot de passe privé, accessible uniquement à Paramètres.
+-  r59 en RAM : 69 panneaux, dialogues et APN vérifiés sur PC/Pixel. Point d’accès enregistré, activé puis arrêté depuis Gaia ; Wi-Fi précédent restauré. 44 tests Python et régressions des dialogues réussis.
+-  Transit Internet vers un autre appareil non testé. Messagerie vocale, blocage d’appels, PIN/PUK, certificats Wi-Fi et partage USB restent ouverts. Ressources Android synchronisées ; aucun nouvel APK, flash ou publication.
-## 12/10/2026 : Paramètres réseau
+## En développement — 12 octobre 2026 — Paramètres réseau
-
-
-### 
-
--   : Adresse IP et vitesse de connexion affichées correctement.
-
-### 
-
--   : Choix du type de réseau et modification des points d’accès mobiles.
--   : Réglages réseau plus fiables lorsque le modem répond lentement.
--   : Ajout, suppression et réinitialisation des points d’accès encore incomplets.
+-  Wi-Fi : adresse IPv4 et débit réels ; ne plus afficher « undefined » lorsqu’une mesure manque.
+-  Sargo : choix GSM/UMTS/LTE et modification des APN Internet/MMS existants, avec validation et relecture.
+-  APN : refuser les changements d’un profil actif, protéger IMS et les mots de passe, tenter la restauration après échec et signaler son résultat.
+-  Sargo : file bornée pour les réglages lents. Lecture des appels en 20 ms pendant une attente de réglages de 5 secondes.
+-  38 tests Python, 69 panneaux PC et parcours APN/réseau sur Pixel en RAM vérifiés. Ressources Android synchronisées.
+-  Ajout, suppression et réinitialisation des APN indisponibles. Sélection manuelle d’opérateur et certificats encore ouverts. Aucun nouvel APK, flash ou publication.
-## 12/10/2026 : Revue des paramètres
+## En développement — 12 octobre 2026 — Audit des paramètres
-
-
-### 
-
--   : Navigation, accessibilité et aide corrigées. Les panneaux incomplets restent visibles.
--   : Menus parcourus ; certaines actions dépendent encore du matériel ou de l’opérateur.
-
-### 
-
--   : Informations de stockage et téléchargements raccordés.
-
-### 
-
--   : Affichage de l’espace utilisé par Vulpes.
-
-### 
-
--   : Données mobiles, itinérance, heure, réseaux Wi-Fi masqués et panneau Son corrigés.
+-  Paramètres : navigation récupérable après échec d’un contrôleur ou d’un dialogue ; génération cohérente des modules.
+-  Filtres d’accessibilité et assistance Vulpes. Panneaux d’origine conservés avec explication des fonctions indisponibles.
+-  PC : statistiques du profil et téléchargements Gecko. Android : statistiques du stockage privé.
+-  Sargo : données mobiles, itinérance, horloge et Wi-Fi masqué raccordés. Erreurs des anciennes interfaces réseau du panneau Son corrigées.
+-  97 vues inventoriées ; 69 panneaux PC/Pixel ouverts et sept dialogues natifs vérifiés. Stockage, données et fuseau relus après écriture sur r51 en RAM.
+-  Les vues contextuelles et services indisponibles ne sont pas tous qualifiés. Java Android compilé, sans nouvel APK. Aucun flash, ticket fermé ni publication.
-## 12/10/2026 : Navigation des paramètres
+## En développement — 12 octobre 2026 — Navigation des paramètres
-
-
-### 
-
--   : Choix Clair/Sombre et validation ou annulation des sélecteurs rétablis.
--   : Gestionnaire adapté aux téléphones à une seule SIM.
-
-### 
-
--   : Informations SIM, centre de messagerie et accusés de réception.
--   : Chargement plus rapide des réseaux enregistrés.
--   : Certificats Wi-Fi, sécurité SIM et stockage USB encore incomplets.
+-  Listes déroulantes : sélecteur Gaia avec confirmation/annulation ; choix Clair/Sombre accessible. Gestionnaire SIM adapté à un emplacement.
+-  Panneaux indisponibles : explication et commandes désactivées au lieu de liens sans effet.
+-  Sargo : réseaux Wi-Fi mémorisés séparés des scans lents ; cache conservé lors des lectures d’état.
+-  Sargo : informations SIM, centre SMS et accusés de réception reliés au modem.
+-  r45 en RAM : huit contrôles d’apparence, cinq panneaux et changement réel des accusés SMS validés, puis réglage restauré. Sélecteur PC vérifié ; ressources APK préparées.
+-  Certificats Enterprise et autres options opérateur encore indisponibles. Aucun SMS émis, nouvel APK, flash ou publication.
-## 12/10/2026 : Apparence sur Pixel 3a
+## En développement — 12 octobre 2026 — Correctifs communs sur Pixel 3a
-
-
-### 
-
--   : Modes clair et sombre communs disponibles sur le Pixel 3a.
--   : Correctifs des paramètres et polices Firefox OS intégrés.
--   : Pas de nouvel essai des appels, SMS ou Bluetooth à cette étape.
--   : Thèmes et affichage vérifiés sur le téléphone.
+-  Sargo : boot r39 en RAM avec correctifs partagés et premier mode sombre. Noyau et configuration matérielle du r35 conservés.
+-  Démarrage, taille d’écran, réglages persistants, batterie, interface d’appel et Fira vérifiés. Services modem, audio, Wi-Fi et Bluetooth actifs.
+-  Sept contrôles d’apparence réussis dans Gaia : thème propagé, en-têtes lisibles, libellés placés et retour au clair. Capture Pixel inspectée.
+-  Outil de mise à jour Gaia dans un boot privé, avec empreintes, sources conservées et vérification des composants matériels inchangés.
+-  Aucun nouvel appel, SMS ou appairage testé. Thème complet et comportement Android encore à qualifier. Aucun nouvel APK, flash ou publication.
-## 11/10/2026 : Apparence et clavier
+## En développement — 11 octobre 2026 — Apparence et clavier partagé
-
-
-### 
-
--   : Modes Clair, Sombre et Système, conservés au redémarrage.
--   : Sélection et suppression de texte corrigées.
-
-### 
-
--   : Thèmes et saisie de SMS vérifiés.
-
-### 
-
--   : Clavier Gaia expérimental ; le clavier Android reste proposé par défaut.
--   : Nouvelle tentative possible quand la caméra est occupée.
--   : Preview 19 construite ; thèmes, clavier et caméra avant encore à vérifier sur Android.
+-  Apparence : Clair, Sombre ou Selon le système, partagé entre les applications et conservé au redémarrage. Fonds d’écran, photos et sites externes préservés.
+-  Clavier : opérations d’édition mutualisées, sélection et effacement, protection contre les réponses tardives.
+-  PC : neuf contrôles d’apparence et gestes de saisie dans Messages réussis, sans envoi de SMS. Revue visuelle de Paramètres, Messages, Téléphone et Contacts.
+-  Android : option expérimentale de clavier Gaia ; clavier Android conservé par défaut et mode de saisie restauré à la fermeture.
+-  Android : réessayer brièvement le même capteur encore occupé, sans réessayer après refus de permission ou fermeture de Photo.
+-  Preview 19 construit localement : signature, alignement, parité et tests du pont/caméra réussis.
+-  Clavier Gaia, caméra avant Android et thème complet encore à qualifier. Sources prêtes pour Sargo, resté sur r35 à cette étape. Aucun upload, flash ni ticket fermé.
-## 11/10/2026 : Paramètres et accueil
+## En développement — 11 octobre 2026 — Paramètres et accueil
-
-
-### 
-
--   : Second écran d’accueil, aperçus de fonds d’écran et bandeau d’installation corrigés.
--   : Fermeture du message d’erreur rétablie.
--   : Sonneries, code de verrouillage, permissions et libellés FR/EN corrigés.
-
-### 
-
--   : Ouverture du volet en touchant la barre de statut.
--   : Preview 18 construite localement.
-
-### 
-
--   : Retour à la version précédente après un redémarrage instable de l’interface.
--   : Fonctionnement confirmé par l’utilisateur.
+-  Paramètres : gestion des sonneries, saisie/effacement du code PIN, désactivation du verrouillage et liste des permissions des applications tierces.
+-  Accueil : première initialisation du second lanceur et aperçus des fonds d’écran.
+-  Langues : actualiser les libellés Vulpes au changement de langue ; anglais de secours hors français. Fermer le panneau d’échec caméra et les bandeaux d’installation.
+-  Android : ouvrir le volet Gaia en touchant la barre de statut. Preview 18 construit, signé et comparé aux sources.
+-  PC : neuf parcours Gaia, cinq contrôles de bandeaux et douze tests activités/caméra réussis. Bluetooth Sargo r35 confirmé par l’utilisateur.
+-  Redémarrage à chaud du compositeur encore instable : fichiers restaurés et retour à r35. Corrections non qualifiées sur Sargo à cette étape ; clavier/thème Android ouverts. Aucun APK publié ni flash.
-## 09/10/2026 : MMS et Bluetooth
+## En développement — 9 octobre 2026 — MMS et Bluetooth
-
-
-### 
-
--   : Panneaux Gaia reliés aux capacités de chaque plateforme.
-
-### 
-
--   : Recherche, association, connexion, oubli d’appareils et sortie audio.
--   : Envoi conservé et repris après une interruption.
--   : MMS accepté par l’opérateur, réception non confirmée. Audio d’appel sur casque à tester.
--   : Lecture audio Bluetooth vers un PC vérifiée.
+-  Bluetooth : adaptateur Gaia partagé, commandes matérielles séparées et accès limité aux applications autorisées.
+-  Sargo : activation, découverte, appairage explicite, connexion et suppression depuis le panneau Bluetooth Gaia. Modules audio Bluetooth intégrés.
+-  Sargo : services réseau Qualcomm et transport MMS raccordés. Une déconnexion D-Bus ne termine plus le daemon MMS. État persistant, reprise sans doublon ni renvoi automatique incertain.
+-  r35 en RAM : MMS avec image visible et accepté par le MMSC Orange ; réception destinataire à confirmer. Cinq appareils Bluetooth détectés, A2DP vers PC validé.
+-  191 tests Python Tundra et 18 tests JavaScript réussis. Ramdisk allégé et ressources Android synchronisées.
+-  Audio d’appel via casque non qualifié. Aucun nouvel APK, flash ni push à cette étape.
-## 08/10/2026 : Caméra et MMS
+## En développement — 8 octobre 2026 — Caméra et transport MMS
-
-
-### 
-
--   : Changement de capteur, arrêt et affichage après rotation corrigés.
-
-### 
-
--   : Pièces jointes conservées et envoi affiché en attente jusqu’à confirmation.
-
-### 
-
--   : Aperçu mesuré autour de 16 images/s à l’arrière et 25 à 27 à l’avant.
--   : Envoi réel encore bloqué par la connexion aux données mobiles.
--   : Mise au point, zoom et prise de photo vérifiés.
+-  Caméra : arrêter le flux avant de détacher la vidéo ; attendre la fermeture du capteur, réinitialiser le viseur et recalculer sa taille après rotation.
+-  MMS : préserver les pièces jointes Blob et garder les messages en attente jusqu’à confirmation du transport.
+-  Sargo : viseur WebGL réutilisé sans recapture vidéo intermédiaire ; écran maintenu éveillé pendant l’aperçu.
+-  PC et Sargo : parcours Photo/Galerie et huit bascules natives vérifiés. JPEG, focus et zoom fonctionnels ; arrière ~16 FPS, avant ~25–27 FPS dans cet essai.
+-  Sargo : file MMS persistante, codec Nuntium et transport oFono. Interface texte/photo testée avec transport simulé.
+-  Données mobiles bloquantes pour les MMS opérateur à cette étape. Ressources Android synchronisées ; aucun nouvel APK, flash ou push.
-## 08/10/2026 : Journal d’appel et dialogues
+## 8 octobre 2026 — Rappel et messages d’erreur
-### 
-
--   : Messages d’erreur lisibles, avec des boutons utilisables.
-
-### 
-
--   : Message clair si l’envoi est indisponible, sans perdre le brouillon.
--   : Rappel depuis le journal d’appel rétabli.
-
-### 
-
--   : Parcours vérifié avec des appels simulés ; audio réel non testé.
+-  Dialogues Gaia : texte visible au lieu d’un écran gris avec un bouton seul.
+-  Journal d’appel : rappel via le même service que le pavé numérique, sans anciennes API Gecko. Fichier partagé PC/Android/Sargo.
+-  MMS : signaler clairement l’envoi indisponible, garder texte et pièces jointes, ne plus annoncer un faux mode avion.
+-  PC : dialogues FR/EN et composeur préservé. Sargo en RAM : 11 contrôles Gaia réussis, rappel testé avec modem simulé.
+-  Aucun appel réel ni validation audio dans cette étape. Ressources Android synchronisées, aucun nouvel APK publié.
-## 08/10/2026 : SMS et audio
+## En développement — 8 octobre 2026 — SMS et audio
-
-
-### 
-
--   : Affichage du volume, verrouillage et balayage des notifications corrigés.
--   : Envoi en un appui, sans fermer d’abord le clavier. Menu des pièces jointes rétabli.
-
-### 
-
--   : Corrections du routage du son des appels.
--   : Le réseau a empêché de vérifier une conversation réelle ; son dans les deux sens non confirmé.
+-  SMS : envoyer en un appui en conservant le clavier. Trombone raccordé au menu Gaia : image, audio, vidéo ou contact.
+-  Interface : indicateur de volume visible, gestes du verrouillage et balayage des notifications corrigés.
+-  PC : clavier, pièces jointes, Galerie, interface d’appel et volume vérifiés ; notification balayée sans déplacer la page. Aucun nouvel APK publié.
+-  Sargo : accès à PulseAudio, relais Qualcomm, protocole D-Bus et périphériques de calibration rétablis. Service audio Android concurrent retiré.
+-  Sargo : 11 contrôles Gaia, calibration et prévisualisations arrière/avant/arrière réussis.
+-  Appels échouant avant sonnerie avec une erreur réseau dans cet essai. Audio bidirectionnel, geste Pixel et MMS encore non validés. Aucun flash ni publication.
-## 08/10/2026 : Fiabilité du réseau
+## En développement — 8 octobre 2026 — Fiabilité téléphonie
-
-
-### 
-
--   : Messages associés à la bonne conversation.
-
-### 
-
--   : Récupération du modem améliorée ; les nouvelles tentatives évitent de doubler appels et SMS.
--   : Stabilité du réseau et audio dans les deux sens encore à confirmer.
--   : Retour sur le réseau 4G après redémarrage du modem vérifié.
+-  Sargo : service radio maintenu après fermeture d’un client. Jamais de nouvel appel ou SMS automatique après une réponse perdue. Erreurs sans numéro ni texte du message.
+-  Diagnostic réseau/audio sans identifiants personnels et paramètres opérateur épinglés dans l’image native.
+-  SMS : attendre le vrai gestionnaire Gaia et accepter les identifiants oFono avec majuscules. Contrôle des conversations rétabli sans réémission.
+-  Sargo : LTE retrouvé après redémarrage, SMS confirmé envoyé par le modem, microphone non silencieux et lecture audio acceptée.
+-  Réception destinataire, audio d’appel bidirectionnel et stabilité modem restent à qualifier. Compositeur instable au redémarrage à chaud. Aucun nouvel APK, flash ou push.
-## 08/10/2026 : Sources publiques
+## 8 octobre 2026 — Mise à jour des sources publiques
-### 
-
--   : Publication des corrections caméra, contacts, SMS et Marketplace, avec présentations FR/EN à jour.
-
-### 
-
--   : Construction depuis une copie neuve du dépôt corrigée.
--   : L’APK public reste en Preview 17 ; ces corrections sont dans les sources.
-
-### 
-
--   : Recherche de réseau encore instable à cette étape ; pas de nouvelle image publiée.
+-  Publication des correctifs Caméra, Contacts, SMS et Marketplace, et des outils Sargo de construction et de restauration.
+-  README français et anglais actualisés avec les fonctions et limites vérifiées.
+-  Création du dossier de rapports lors du contrôle de parité Android sur un dépôt neuf.
+-  Configuration Wi-Fi native vérifiée : aucun profil de connexion embarqué.
+-  Documents internes, données personnelles et clés exclus du dépôt.
+-  APK public inchangé (Preview17) ; correctifs du 8 octobre non inclus. Aucune nouvelle image native publiée.
+-  Sargo : modem encore en recherche réseau ; audio des appels, appairage et profils Bluetooth à valider.
-## 08/10/2026 : Caméra et contacts
+## 8 octobre 2026 — Caméra et parcours Contacts · en développement
-
-
-### 
-
--   : Ouverture et changement de capteur fiabilisés.
--   : Photos, dates, modifications et choix d’un numéro depuis SMS ou Téléphone corrigés.
--   : Sélection des médias corrigée.
--   : Correctifs dans les sources ; APK public inchangé à cette étape.
-
-### 
-
--   : Numéro et texte transmis correctement à l’application Android.
-
-### 
-
--   : Recherche disponible ; association et usages audio encore à vérifier.
--   : Photo, mise au point, zoom et changements de capteur vérifiés.
+-  Caméra : ouvertures successives, libération du capteur et identification avant/arrière corrigées.
+-  Contacts : transport des photos et des dates corrigé sur PC, Android et Tundra.
+-  Contacts : actualisation après modification, ouverture de SMS, sélection d’un numéro et préremplissage du pavé numérique rétablis.
+-  Galerie : ouverture en mode sélection pour la photo d’un contact, même si l’application est déjà ouverte.
+-  Sargo : fichiers Contacts corrigés inclus dans l’image de démarrage.
+-  Android : transmission du destinataire et du texte à l’application SMS, y compris les réponses et les numéros non encore validés.
+-  Tests de caméra, stockage des contacts, permissions, transport binaire et activités.
+-  PC : capture JPEG, Galerie, photo de contact, création, édition, recherche, favoris et suppression vérifiés. Aucun appel ni SMS émis.
+-  Sargo en RAM : autofocus, zoom, quatre bascules de caméra, capture et Galerie vérifiés ; parcours Contacts testés au toucher.
+-  Sargo : conversations stockées, clavier et notifications vérifiés ; quatre réseaux Wi-Fi détectés. Nouveaux SMS et audio d’appel à valider.
+-  Sargo : BlueZ et ses dépendances avec empreintes SHA256. Activation et recherche Bluetooth testées ; appairage et profils à valider.
+-  Sargo : magasin de certificats natif. HTTPS, archives altérées, collisions de fichiers et reconstructions testés.
+-  Preview17 publié avec téléchargement et SHA256 vérifiés. Les correctifs ci-dessus restent dans les sources ; essai SMS Android réel nécessaire. Aucun flash Sargo.
-## 06/10/2026 : Thème Marketplace
+## 6 octobre 2026 — Thème Marketplace intégré · en développement
-
-
-### 
-
--   : Intégration prévue dans un prochain APK.
-
-### 
-
--   : Thème intégré : police Fira, navigation compacte, boutons tactiles et captures défilantes.
--   : Affichage intégré conservé pendant la recherche, les filtres et les changements de langue.
--   : Thème préparé localement, pas encore déployé sur le site.
--   : Pages françaises et anglaises vérifiées sur petits écrans.
+-  Marketplace : thème intégré avec Fira locale, navigation compacte, boutons tactiles, filtres repliables et captures défilantes.
+-  Conservation de `mode=app` dans la navigation, la recherche, les filtres et le changement de langue.
+-  En-têtes du site masqués en mode intégré. Confirmations gérées par Gaia, sans privilèges supplémentaires pour le catalogue.
+-  16 pages FR/EN, 2 pages classiques et affichages mobiles à 320 et 360 pixels vérifiés.
+-  Thème prêt localement, non déployé. Lanceurs PC et Sargo mis à jour ; intégration Android au prochain APK.
-## 06/10/2026 : Bandeaux de notification
+## 6 octobre 2026 — Bandeaux Gaia · en développement
-
-
-### 
-
--   : Le bandeau « Application installée » disparaît automatiquement et se remplace correctement.
-
-### 
-
--   : Affichage et fermeture des bandeaux vérifiés.
-
-### 
-
--   : Correctif préparé pour le prochain APK.
-
-### 
-
--   : Disparition du bandeau après cinq secondes vérifiée.
+-  Fermeture automatique du bandeau « Application installée », même sans événement de fin d’animation.
+-  Annulation des anciens délais lorsqu’un nouveau bandeau remplace le précédent.
+-  PC : affichage, expiration, remplacement et fermeture au clic vérifiés. Sargo : disparition après cinq secondes vérifiée en RAM.
+-  Correctif disponible dans les sources communes pour le prochain APK. Aucun flash ni publication.
-## 06/10/2026 : Wi-Fi et paramètres
+## 6 octobre 2026 — Wi-Fi et panneaux Paramètres · en développement
-
-
-### 
-
--   : Ouverture des panneaux rétablie quand une animation ne se termine pas normalement.
-
-### 
-
--   : Correctifs encore absents de l’APK public.
-
-### 
-
--   : Réseaux détectés et déconnexions affichés correctement.
--   : Recherche, connexion et accès Internet vérifiés.
+-  Paramètres : ouverture des panneaux même sans événement de fin d’animation, sans double initialisation.
+-  Sargo : événements Wi-Fi corrigés pour rétablir l’affichage des réseaux et signaler correctement la déconnexion.
+-  Sargo : quatre points d’accès détectés, regroupés en deux réseaux. Connexion confirmée et requête HTTPS réussie avec certificats vérifiés.
+-  Sources communes, serveur PC et essai Sargo en RAM mis à jour. Correctifs non inclus dans l’APK public.
-## 06/10/2026 : Navigation Marketplace
+## 6 octobre 2026 — Marketplace · en développement
-
-
-### 
-
--   : Message local avec bouton Réessayer si le catalogue est inaccessible.
--   : Le catalogue reste sous la barre de statut et se masque en revenant à l’accueil ou en le fermant.
--   : Une ancienne erreur ne masque plus une nouvelle tentative.
-
-### 
-
--   : Navigation, erreurs, retour à l’accueil et fermeture vérifiés.
-
-### 
-
--   : Preview 17 reconstruite localement, sans nouveau test Android.
-
-### 
-
--   : Interface testée avec une page locale ; catalogue distant non vérifié sans Internet.
+-  PC/Sargo : catalogue Marketplace contenu sous la barre de statut, masqué à l’accueil et retiré à la fermeture.
+-  Une navigation annulée ou une ancienne page d’erreur ne masque plus la nouvelle tentative.
+-  Message d’erreur local avec bouton Réessayer lorsque le catalogue est inaccessible.
+-  PC : navigation, erreur réseau, nouvelle tentative, accueil et fermeture vérifiés.
+-  Sargo en RAM : sept contrôles réussis avec une page locale et déverrouillage forcé. Catalogue distant non validé sans connexion Internet.
+-  APK Preview17 local reconstruit ; signature, alignement et ressources vérifiés. Aucun nouveau test sur appareil Android ni publication.
-## 05/10/2026 : 2.7-preview.17
+## 2.7-preview.17 — APK construit · 5 octobre 2026
-
-
-### 
-
--   : Installation, lancement et désinstallation d’applications web empaquetées.
--   : Catalogue Vulpes sur l’accueil, en français et en anglais, avec son icône originale.
--   : Applications installées séparées des applications système.
--   : Certaines anciennes applications et API Firefox OS ne sont pas encore prises en charge.
-
-### 
-
--   : Installation et utilisation de 2048 vérifiées.
-
-### 
-
--   : 2048 installé, conservé après redémarrage et désinstallé sur un émulateur Android.
-
-### 
-
--   : Accueil vérifié ; installation d’applications encore à valider sur le Pixel.
+-  Marketplace sur l’accueil, avec son icône originale et le catalogue Vulpes en français ou en anglais.
+-  Installation confirmée des applications ZIP, lancement depuis l’accueil et désinstallation.
+-  Applications installées isolées des sources Gaia et des privilèges système.
+-  PC : parcours complet avec 2048 et contrôles des archives, chemins, limites, annulations et confirmations à usage unique.
+-  APK Preview17 construit et signé avec Marketplace, GeckoView et stockage privé des paquets.
+-  Émulateur Android 16/API 36 : installation, lancement, isolation, conservation après redémarrage de l’application et désinstallation de 2048.
+-  Sargo en RAM le 6 octobre : accueil et ressources Marketplace vérifiés, 9 contrôles système sur 10 réussis. Variation du viewport au déverrouillage ; installation de paquets à valider.
+-  Prise en charge initiale des applications web empaquetées. Anciennes API privilégiées et applications hébergées non restaurées. Aucune publication à cette étape.
-## 05/10/2026 : 2.7-preview.16
+## 2.7-preview.16 — APK construit · 5 octobre 2026
-
-
-### 
-
--   : Logo Vulpes au démarrage.
--   : Défilement horizontal involontaire supprimé ; applications de test masquées.
--   : Choix des fonds d’écran et des sons rétabli. Langue appliquée à l’accueil et conservée au redémarrage.
--   : APK construit, non publié ; image Pixel essayée sans installation permanente.
-
-### 
-
--   : Barres Android masquées, accessibles par balayage ; mode lanceur vérifié.
--   : Retour après veille et depuis la caméra du verrouillage corrigé.
-
-### 
-
--   : Les anciens fichiers ne remplacent plus les mises à jour au démarrage.
+-  Sélecteurs Gaia de fond d’écran et de sons rétablis, avec retour vers Paramètres et annulation par Accueil.
+-  Changement de langue appliqué à l’accueil et conservé après redémarrage.
+-  Arrêt du balayage horizontal sur chaque page ; applications de développement masquées sur l’accueil.
+-  Logo Vulpes au démarrage et liste des sons adaptée au moteur actuel. Transport des médias partagé entre PC et Android.
+-  Android : verrouillage Gaia après veille et retour depuis la caméra du verrouillage. Mode lanceur HOME validé.
+-  Android : barres système masquées en mode immersif, accessibles par balayage. APK Preview16 construit et signé.
+-  PC et émulateur Android 16/API 36 : fonds d’écran, sons et panneaux vérifiés ; langue, verrouillage et persistance du fond testés sur Android.
+-  Sargo : image de démarrage mise à jour pour ne plus restaurer d’anciens fichiers.
+-  Sargo en RAM : 6 contrôles d’interface et 10 contrôles système réussis. Installation conservée en Preview15, sans flash.
+-  APK non publié. Installation FFAA et audio d’appel à valider ; le choix d’un son Gaia ne change pas la sonnerie Android.
-## 04/10/2026 : Installation autonome
+## En développement — 4 octobre 2026 — Installation autonome Sargo
-
-
-### 
-
--   : Installateur avec vérification du modèle et des fichiers avant écriture.
--   : Installation autonome de Vulpes, sans passer par Droidian.
--   : Paquet non publié ; un seul Pixel testé. L’installation remplace les données du téléphone.
--   : Sauvegardes vérifiées ; restauration complète encore à essayer.
--   : Démarrages installés, conservation des réglages, caméra, clavier et notifications vérifiés.
+-  Sargo : volume ext4 autonome pour userdata, avec système, données et composants vendor/modem. Installation indépendante de Droidian et d’ADB.
+-  Installateur Fastboot avec contrôles du modèle, du déverrouillage, des tailles et des empreintes. Remplacement de userdata, dtbo_a, vbmeta_a et boot_a ; calibrations conservées.
+-  Sauvegarde complète de userdata et archive de restauration vérifiées avant le flash. Restauration réelle non testée.
+-  Deux démarrages installés réussis : 11 contrôles Gaia et 10 contrôles natifs par démarrage, réglages conservés et boot relu conforme.
+-  Variante sans SSH ni clés de maintenance démarrée après flash. Variante de développement réinstallée ; caméra, clavier et notifications vérifiés.
+-  Paquet Fastboot local assemblé ; 44 tests ciblés réussis.
+-  Paquet non publié : provenance et redistribution de composants matériels à finaliser. Essais sur un seul Pixel 3a ; volume de 8 Gio dont 1 Gio modifiable, sans extension automatique.
-## 03/10/2026 : Installation par appareil
+## En développement — 3 octobre 2026 — Installation Sargo par appareil
-
-
-### 
-
--   : Préparation adaptée à chaque Pixel, avec sauvegardes propres à l’appareil.
--   : Mise au point parfois trop lente ; problème encore ouvert.
--   : Installation directe depuis Android d’origine pas encore disponible.
--   : Démarrages temporaires, conservation des réglages et retour à l’installation précédente vérifiés.
+-  Sargo : dossier appareil portable pour les builds, l’installation et le secours, indépendant de l’inventaire du Pixel de développement.
+-  Collecte en lecture seule des six partitions de démarrage et du stockage, liée à l’identité du téléphone. Sauvegardes privées.
+-  Transfert SSH avec contrôle d’identité, du stockage et des empreintes, sans écrasement, formatage ni flash.
+-  Deux boots RAM : 11 contrôles Gaia et 10 contrôles natifs réussis chacun ; réglage conservé. Timeout autofocus au premier essai, caméra fonctionnelle au second.
+-  Retour au build installé vérifié ; boot inchangé et écrasement des données refusé.
+-  Timeout autofocus non déclaré corrigé. Provenance exacte du HAL encore à établir ; noyau et stockage ext4/LVM compatibles requis, sans installation directe depuis Android d’origine.
-## 03/10/2026 : Installation et secours
+## En développement — 3 octobre 2026 — Préparation et secours Sargo
-
-
-### 
-
--   : Préparation des paquets et kit de secours avec sauvegarde du démarrage.
--   : Restauration possible sans démarrer l’outil de diagnostic.
--   : Préparation vérifiée localement ; installation sur un autre Pixel encore à finaliser.
-
-### 
-
--   : Historique commun inclus dans les prochaines publications de sources.
+-  Sargo : préparation locale des paquets avec contrôles d’empreintes, décompression bornée, vérification ext4 et création de données vierges sans écrasement.
+-  Kit de secours privé avec sauvegarde de boot_a et contrôles du modèle, du numéro de série, du slot et des empreintes. Données utilisateur non incluses.
+-  Restauration possible sans l’image de diagnostic.
+-  Construction système : référence matérielle ARM64 complète exigée.
+-  Archive système préparée et kit de secours vérifié localement. Installation sur un autre Sargo à finaliser ; aucun flash ni ROM publiée.
+-  Journal JSON inclus dans les prochaines publications de sources ; documents de travail exclus.
-## 03/10/2026 : Modem et premier démarrage
+## En développement — 3 octobre 2026 — Sargo : récupération modem et installation vierge
-
-
-### 
-
--   : Récupération du modem sans redémarrer tout le téléphone.
--   : Polices et initialisation du modem corrigées sur une installation neuve.
--   : Redémarrages intermittents du modem encore à résoudre ; paquet public incomplet.
--   : Caméras, focus, zoom, clavier, notifications et recherche Wi-Fi vérifiés.
+-  Sargo : cache des polices et création du dossier privé oFono au premier démarrage corrigés dans l’image système.
+-  Récupération du modem sans redémarrer le téléphone. Réenregistrement réseau mesuré à environ 22 secondes lors d’un essai contrôlé.
+-  Profil neuf : Gaia, rendu matériel, Fira, deux caméras, focus, zoom, clavier et notifications vérifiés. Scan Wi-Fi fonctionnel après redémarrage du modem.
+-  Deux démarrages avec conservation des réglages dans un espace de données séparé. Installation existante préservée.
+-  Cause du watchdog IMS non corrigée. Paquet public d’installation et de restauration encore incomplet ; aucune image publiée.
-## 01/10/2026 : Préparation de la distribution
+## 1er octobre 2026 — Sargo : préparation de la distribution — en développement
-
-
-### 
-
--   : Préparation d’une image avec des données vierges.
--   : Affichage des polices au premier démarrage corrigé.
--   : Image non publiée. Appels, SMS et données mobiles encore à vérifier de bout en bout.
--   : Redémarrage intermittent du modem identifié.
--   : SIM, 4G, recherche Wi-Fi, caméras, clavier et notifications vérifiés en démarrage temporaire.
+-  Sargo : image Preview15 reconstruite avec profils vierges, licences et inventaire des 493 paquets. Documents de travail exclus.
+-  Table de montage générée depuis l’inventaire du stockage. Prise en charge limitée à une seule étendue ext4 sur userdata.
+-  Droits du cache des polices au premier démarrage : fc-cache exécuté avec le compte de session.
+-  Contrôles ext4, contenu et transfert réussis. Essais RAM sans écriture de boot_a ; retour au build v59 vérifié.
+-  SIM, LTE, scan Wi-Fi, Gaia, rendu matériel, Fira, caméras, clavier et notifications vérifiés en RAM.
+-  Récupération ciblée après identification d’un redémarrage intermittent du firmware IMS. Second démarrage réussi ; nouveau crash IMS non testé.
+-  Qualification de l’image incomplète, sans validation des appels, SMS ou données mobiles de bout en bout. Image non publiée et non flashable.
-## 30/09/2026 : 2.7-preview.15
+## 2.7-preview.15 — 30 septembre 2026 — publiée
-
-
-### 
-
--   : Première publication des sources PC, Android et Tundra, avec présentation FR/EN.
--   : Arrêt et remplacement du flux caméra fiabilisés.
--   : Dates et états d’envoi corrigés dans les conversations.
-
-### 
-
--   : Navigation, réglages, gestes et conservation des données vérifiés.
-
-### 
-
--   : Mise à jour, Photo, Galerie et retours d’arrière-plan vérifiés sur un émulateur Android.
-
-### 
-
--   : Sources incluses ; installation universelle encore indisponible à cette étape.
--   : Flash, vidéo, rotation, veille et audio d’appel encore incomplets ou à vérifier.
+-  Première publication des sources PC, Android et Tundra, avec README FR/EN, licences et scripts de préparation. Fichiers privés exclus.
+-  SMS : dates des bulles et états d’envoi/échec corrigés. Libération et remplacement des flux caméra fiabilisés.
+-  PC : tests de navigation stabilisés, délai de démarrage à froid ajusté et fermeture propre après dépassement du délai Gaia.
+-  PC avec Gecko 156.0.1 : 42 tests de services, démarrage, navigation, réglages, gestes, historique, isolation et persistance vérifiés.
+-  APK Preview15 signé avec la clé précédente et GeckoView 156.0 ; parité des ressources vérifiée.
+-  Émulateur Android 16 : mise à jour, Photo/Galerie, reprise caméra, dix retours d’arrière-plan et récupération du rendu validés.
+-  Sargo : sources incluses, build privé v59 conservé. Aucune ROM générique ; démarrage lié au stockage et aux images préinstallées.
+-  Sargo : aperçu proche de 16 i/s ; flash, vidéo, rotation et veille profonde incomplets. Audio d’appel et dialogue après envoi SMS à examiner.
[Release](https://nnsprod.com/git/oversu/VulpesOS/releases/tag/v2.7-preview.15)
-## 30/09/2026 : Retours SMS et caméra
+## En développement — retours SMS et caméra · 30 septembre 2026
-
-
-### 
-
--   : Libération du capteur et changement de caméra corrigés.
--   : Conversations vides corrigées.
-
-### 
-
--   : Sources communes mises à jour, sans nouvel APK.
-
-### 
-
--   : Arrêt du vibreur rétabli.
--   : Dialogue après envoi SMS et fluidité caméra encore à corriger.
--   : Focus et zoom confirmés par l’utilisateur.
--   : Envoi et réception confirmés par l’utilisateur ; conversations affichées.
+-  SMS : conversion des dates pour corriger les conversations vides.
+-  Caméra : fermeture des flux et libération du capteur corrigées ; une ancienne session ne peut plus fermer la suivante.
+-  Sargo : arrêt physique du vibreur via DRV2624, avec coupure de secours au démarrage et à l’arrêt du service.
+-  PC : composition et affichage des SMS vérifiés avec modem simulé. Sargo : bascules caméra et arrêt du capteur testés sur deux boots RAM.
+-  Sargo v54 : focus, zoom et SMS dans les deux sens confirmés par l’utilisateur. Cinq conversations affichées ; arrêt du vibreur confirmé.
+-  Sargo v59 installé sur boot_a après deux boots RAM ; démarrage, relecture et slot A vérifiés.
+-  Dialogue après envoi SMS et fluidité caméra encore à traiter. Sources communes mises à jour, sans nouvel APK.
-## 30/09/2026 : SMS et photo
+## En développement — SMS et Photo · 30 septembre 2026
-
-
-### 
-
--   : Messages en échec conservés et états d’envoi mis à jour.
-
-### 
-
--   : APK Preview 14 inchangé à cette étape.
-
-### 
-
--   : Mise au point au toucher et zoom numérique. Photos jusqu’à 12 Mpx à l’arrière et 8 Mpx à l’avant.
--   : Retour de l’aperçu après une photo corrigé.
--   : Réception par le destinataire non encore confirmée.
+-  PC/Tundra : conservation des SMS après refus du modem et transmission des états envoi, échec et envoyé à Gaia.
+-  Sargo : états SMS persistants après disparition de l’objet oFono ; envoi refusé si le modem n’est pas enregistré.
+-  Sargo : focus tactile, zoom numérique et capture JPEG du capteur dans Photo Gaia.
+-  Photos mesurées : 4032 × 3024 à l’arrière, 3264 × 2448 à l’avant. Aperçu 640 × 480 ; focus avant fixe.
+-  Caméra native : données binaires séparées des traces HAL, réponses bornées et reprise de l’aperçu après capture ou erreur de focus.
+-  PC : échec d’envoi visible et parcours Photo/Galerie vérifiés. Sargo v54 : deux boots RAM puis installation, persistance et caméra validées.
+-  Réseau instable ; aucune livraison SMS de bout en bout confirmée dans cette passe. Confirmation modem distincte de l’accusé de réception. APK public inchangé (Preview14).
-## 30/09/2026 : 2.7-preview.14
+## 2.7-preview.14 — APK publié · 30 septembre 2026
-
-
-### 
-
--   : Polices, informations de version, verrouillage et notifications harmonisés.
-
-### 
-
--   : Clavier agrandi, édition de texte et saisie du numéro de destinataire améliorées.
-
-### 
-
--   : Démarrage et polices vérifiés sur un émulateur Android.
-
-### 
-
--   : Arrêt de la vibration corrigé.
--   : Notifications conservées, ouverture de la conversation et doublons corrigés.
--   : Réseaux enregistrés, reconnexion et oubli d’un réseau corrigés.
--   : Contrôles audio testés hors appel ; conversation et son des notifications encore à vérifier.
+-  Informations système : alignement des versions et polices Fira dans les composants Shadow DOM.
+-  PC/Tundra : taille des touches en portrait, curseur dans le champ actif et réponses de saisie obsolètes.
+-  PC/Tundra : pont clavier Gaia et pavé numérique pour les destinataires SMS. Clavier Android inchangé.
+-  Verrouillage : redimensionnement sans fenêtre clavier. Notifications silencieuses respectées, y compris après restauration.
+-  Sargo : notifications persistantes dans le volet et sur le verrouillage, avec ouverture de l’application concernée.
+-  Sargo : vibrations annulables, limitées à dix secondes ; profils Wi-Fi privés persistants, reconnexion automatique et oubli du réseau.
+-  Sargo : stockage des SMS entrants avant acquittement, dédoublonnage et création du dossier d’état.
+-  Sargo : commandes écouteur/haut-parleur, micro muet et volume d’appel. Bascule, sourdine et volume testés hors appel.
+-  Installation : flash des images de diagnostic avec débogueur refusé. Sargo v48 installé après deux boots RAM ; persistance, relecture et slot A vérifiés.
+-  PC : Calendrier et clavier vérifiés. Sargo : clavier, notifications et reconnexion Wi-Fi vérifiés ; son des notifications et téléphonie réelle à valider.
+-  APK Preview14 signé et publié. Démarrage, versions et polices vérifiés sur émulateur Android 16. Aucune image Sargo publiée.
[Release](https://nnsprod.com/git/oversu/VulpesOS/releases/tag/android-2.7-preview.14)
-## 27/09/2026 : 2.7-preview.13
+## 2.7-preview.13 — parcours dans les applications · 27 septembre 2026
-
-
-### 
-
--   : Rappels des événements corrigés, y compris après suppression.
--   : Premier affichage et fermeture de l’éditeur corrigés.
--   : Filtres des conversations corrigés.
-
-### 
-
--   : Photo, vidéo, calendrier et conversations vérifiés.
-
-### 
-
--   : Caméra, Galerie, Calendrier et reprise après arrière-plan vérifiés.
-
-### 
-
--   : Caméra, Wi-Fi et luminosité vérifiés sur la version installée.
+-  Calendrier : sauvegarde des événements avec alarme, remontée des erreurs et exclusion des rappels d’événements supprimés.
+-  Notifications : texte vide accepté ; notification refusée non marquée comme livrée. Support natif Tundra encore incomplet.
+-  Galerie : taille des vignettes au démarrage masqué et arrêt des mises à jour après fermeture de l’éditeur.
+-  SMS : filtres par correspondant, lecture, période et livraison appliqués.
+-  PC : vidéo WebM, édition et copie de photo, calendrier, lecture et suppression des conversations vérifiés.
+-  Copie isolée : démarrage, tests PC, persistance et empaquetage Android réussis.
+-  APK Preview13 construit et signé. Photo/Galerie, Calendrier, dix reprises d’arrière-plan et récupération du rendu validés sur Android 16 émulé.
+-  Sargo v40 installé après deux boots RAM ; Gaia, caméra, Wi-Fi, luminosité, commandes et relecture de boot_a vérifiés.
-## 27/09/2026 : 2.7-preview.12
+## 2.7-preview.12 — revue des applications · 27 septembre 2026
-
-
-### 
-
--   : Page d’accueil locale, en français ou en anglais selon la langue.
--   : Conversations SMS et traductions du Calendrier corrigées.
--   : Changement de capteur et zoom de l’interface corrigés ; flash grisé s’il est indisponible.
--   : Icônes plus nettes, appui long sur Accueil et gestes corrigés.
-
-### 
-
--   : Aperçu plus fluide, autour de 23 images par seconde lors des essais.
--   : Luminosité plus réactive et connexion Wi-Fi corrigée.
--   : Vidéo, flash, Bluetooth et réglages d’appel avancés encore incomplets.
+-  Icônes Gaia : variantes de 1× à 2,25× restaurées dans 1 047 références CSS.
+-  Photo : changement de capteur après détection et désactivation du zoom de l’interface au pincement. Flash indisponible grisé.
+-  Accueil : appui long et transmission des gestes rétablis, sans privilèges supplémentaires pour les sites web.
+-  Navigateur : page d’accueil locale bilingue, suivant la langue Gaia sans redémarrage.
+-  SMS : identifiants, migration, dates, événements d’envoi, requêtes multi-destinataires et écritures concurrentes corrigés.
+-  Calendrier : libellé d’accessibilité du jour courant rétabli dans 37 langues.
+-  Revue de 14 applications ; 26 contrôles Galerie/Musique/Horloge/UI, tests Contacts/SMS et isolation web.
+-  APK Preview12 reconstruit avec les mêmes ressources ; parité vérifiée. Fonctions matérielles adaptées séparément sur Android et Tundra.
+-  Sargo : aperçu caméra NV21 par shader et transport binaire, environ 23 i/s mesurées contre 8 dans l’essai intermédiaire.
+-  Sargo : fermeture du worker caméra attendue avant changement de capteur ; luminosité manuelle réglée en environ 200 ms.
+-  Sargo : activation Wi-Fi depuis Gaia et connexion WPA-PSK aux réseaux mixtes WPA2/WPA3.
+-  Sargo : scan, connexion et HTTPS validés en RAM. v38 installé après deux boots RAM, relecture et slot A vérifiés.
+-  Sargo : profils Wi-Fi temporaires ; flash, vidéo, capteurs, Bluetooth, comptage de données et appels avancés incomplets.
-## 27/09/2026 : Interface et matériel
+## En développement — retours Sargo et interface · 27 septembre 2026
-
-
-### 
-
--   : Première page d’accueil locale.
--   : Animation d’extinction conservée, avec des ronds bleus.
--   : Textes des listes et de Vidéo corrigés ; barre Accueil transparente et adaptée au paysage.
--   : En-têtes et icônes du journal d’appel corrigés.
-
-### 
-
--   : Réglage de la luminosité raccordé.
--   : Appels audio, vidéo, pleine résolution photo et rotation encore à vérifier.
+-  Animation d’arrêt Gaia recolorée en bleu.
+-  Téléphone : en-têtes fixes au changement d’onglet et icônes du journal adaptées aux densités jusqu’à 2,25×.
+-  Texte coupé dans les menus déroulants et débordement du texte d’accueil Vidéo.
+-  Luminosité : valeurs numériques et regroupement des commandes obsolètes, avec ordre veille/réveil préservé.
+-  Accueil : fond sous le dégradé et bouton à droite en paysage, sans recouvrir les applications.
+-  Navigateur : page d’accueil locale modifiable, avec mode privé conservé.
+-  Wi-Fi : message d’erreur et bouton Réessayer à la place des relances sans fin.
+-  APK Preview11 construit et signé ; rotation et position du bouton Accueil vérifiées sur Android 16 émulé.
+-  Sargo : aperçu, JPEG et bascules caméra validés en RAM. Capture limitée à 640 × 480 ; flash et vidéo indisponibles.
+-  Sargo v33 installé après deux boots RAM ; démarrage, données, relecture et slot A vérifiés. Luminosité et résultats Wi-Fi contrôlés dans Gaia.
+-  Sargo : compatibilité PulseAudio 14 et suppression du double chargement des modules audio. Profils appel/média et écouteur testés.
+-  Sargo : conversation audio, capture pleine résolution, vidéo et rotation automatique à valider.
-## 27/09/2026 : Stabilité Wi-Fi
+## En développement — stabilité Wi-Fi native · 27 septembre 2026
-
-
-### 
-
--   : Preview 9 construite avec les corrections communes ; Wi-Fi géré par Android.
-
-### 
-
--   : Recherche des réseaux stabilisée pour éviter les blocages du téléphone.
--   : Caméra et appels encore incomplets.
--   : Verrouillage, polices, date, batterie et Wi-Fi vérifiés.
+-  Wi-Fi : intervalle de recherche rétabli à 20 secondes et regroupement des scans simultanés.
+-  Sargo : un seul scan matériel à la fois, avec cache court et invalidation à la connexion/déconnexion. Corrige l’épuisement mémoire des builds v21/v22.
+-  Tests de rafales, erreurs et temporisation Wi-Fi.
+-  Version commune Preview9, Gaia 2.7.0 ; nouvel APK avec les mêmes sources. Wi-Fi Android toujours géré par Android.
+-  Sargo v25 : deux boots RAM puis installation, 11 contrôles Gaia et 10 système réussis, sans arrêt de processus par manque de mémoire.
+-  Verrouillage, polices, batterie, date et Wi-Fi vérifiés ; veille/réveil et volume testés par événements injectés. Données, relecture et slot A contrôlés.
+-  Caméra native et validation complète des appels encore à terminer.
-## 27/09/2026 : Retour aux composants Gaia
+## En développement — restauration Gaia · 27 septembre 2026
-
-
-### 
-
--   : Remerciements, écran de démarrage et nom du navigateur mis à jour.
--   : Panneaux et styles Gaia d’origine rétablis dans Paramètres, Suivi conso, Radio FM et les imports.
--   : Bouton Accueil dégagé des commandes ; date, batterie et écran de verrouillage rétablis.
-
-### 
-
--   : Mode lanceur, accès aux paramètres Android et reprise après arrière-plan.
-
-### 
-
--   : Première intégration instable ; retour à la version précédente.
+-  Panneaux Gaia restaurés : Paramètres, Suivi conso, FM et imports. Interfaces provisoires retirées ; fonctions indisponibles désactivées.
+-  Styles des anciens composants, icônes du verrouillage et glyphes Téléphone corrigés.
+-  Espace de 44 pixels réservé au bouton Accueil ; date et batterie rétablies, sans texte `{{ level }}`.
+-  Verrouillage Gaia réactivé, splash stabilisé, nom Navigateur/Browser localisé et crédits ajoutés.
+-  PC : 26 contrôles applicatifs réussis, plus panneaux, imports, batterie, navigation et appels simulés.
+-  APK Preview8 installé sur Android 16 émulé : batterie Android, accès aux paramètres et mode HOME optionnel. Catalogue Android encore incomplet.
+-  Android émulé : dix reprises d’arrière-plan, récupération du rendu et parité des ressources vérifiées. Verrouillage Gaia distinct de la sécurité Android.
+-  Sargo v21/v22 : scan et association Wi-Fi raccordés à Gaia via NetworkManager.
+-  Sargo : essais RAM interrompus par l’arrêt du service graphique (code 139). Retour au v20 installé vérifié, sans nouveau flash.
+-  Wi-Fi du candidat, caméra, API SIM/Bluetooth et suspension CPU non validés.
-## 27/09/2026 : Appels et boutons physiques
+## En développement — 27 septembre 2026
-
-
-### 
-
--   : Interfaces Gaia d’appel entrant et sortant, avec journal d’appel.
--   : Polices Fira, contacts et affichage de la batterie corrigés.
-
-### 
-
--   : Prise en charge des touches Marche/Arrêt et Volume, du menu d’extinction et du réveil de l’écran.
--   : Caméra native encore indisponible.
--   : Sonnerie et raccrochage vérifiés ; conversation audio encore à tester.
+-  Callscreen Gaia pour les appels entrants/sortants, avec réponse et raccrochage. Remplace l’écran provisoire v13.
+-  Journal d’appels persistant avec acquittement et dédoublonnage.
+-  Batterie inconnue distincte d’une batterie vide ; index Contacts absent ou mal formé toléré.
+-  Textes système affichés avec Fira Sans, sans modifier les polices d’icônes.
+-  PC avec modem simulé : appels, raccrochage en échec puis nouvel essai, journal, veille/réveil, menu Power, volume et batterie.
+-  Sargo : boutons Power/Volume raccordés à Gaia et commandes natives d’écran, volume, arrêt et redémarrage.
+-  Sargo : luminosité et alimentation sérialisées pour éviter l’écran noir au réveil ; accès PulseAudio corrigé pour le volume.
+-  Sargo : un raccrochage réussi avec réponse D-Bus vide ne produit plus de fausse erreur.
+-  Sargo v13 puis v20 installés après essais RAM ; démarrage, relecture, réglages et validation du slot contrôlés.
+-  Appel sortant réel arrivé à la sonnerie puis raccroché. Appels entrants et audio de conversation non validés.
+-  Diagnostic caméra : un timeout n’est plus présenté comme une initialisation réussie. Deux capteurs détectés, sans trames reçues.
+-  Caméra native indisponible, suspension CPU et commandes audio avancées incomplètes. Aucun nouvel APK.
-## 26/09/2026 : Démarrage et polices
+## En développement — 26 septembre 2026
-
-
-### 
-
--   : Polices Fira et informations de batterie corrigées ; boutons de test retirés des paramètres.
-
-### 
-
--   : Conservation des données lors du démarrage installé.
--   : Plein écran stable, sans gestes ni ouverture automatique d’applications.
--   : Son et micro testés séparément ; audio d’appel, caméra et veille non validés.
+-  Polices Fira Sans historiques utilisées dans Gaia et Tundra ; repli sans-serif et contrôle Fontconfig corrigés.
+-  Boutons de diagnostic retirés des Paramètres.
+-  Panneau matériel : capacités de la plateforme transmises correctement pour afficher la batterie.
+-  Sargo : erreurs modem et transport distinguées ; message caméra indisponible corrigé.
+-  Sargo : données persistantes sur ext4 2 Gio et validation du succès A/B après installation.
+-  Sargo v8 : deux boots avec persistance, 9 contrôles Gaia et 9 système par boot. Outils d’installation et de secours testés localement.
+-  Sargo v9 installé sur boot_a : deux démarrages avec 10 contrôles Gaia et 9 système chacun. Relecture conforme, cinq autres partitions préservées ; restauration réelle non testée.
+-  Démarrage normal sans gestes de diagnostic automatiques ; plein écran établi avant Gaia, dimensions stables à 360 × 740 pixels CSS.
+-  Mode `--diagnostics` séparé ; images de diagnostic exclues du lancement normal.
+-  Sargo : v13 testé en RAM (8 contrôles de démarrage, 9 système), v14 en diagnostic (13 contrôles interactifs), Wi-Fi inclus.
+-  Enregistrement UMTS, lecture audio et signal du micro vérifiés. Audio d’appel, caméra et veille non validés.
+-  Construction du ramdisk indépendante de la langue du PC grâce à readelf en locale C.
+-  Essais privés, sans ROM publique. Sources PC synchronisées ; correctif commun disponible pour Android, sans nouvel APK.
-## 25/09/2026 : Accueil et premiers essais natifs
+## En développement — 25 septembre 2026
-
-
-### 
-
--   : Bouton rond, fond transparent sur l’accueil et bleu dans les applications.
--   : État appuyé du bouton, dégradé, polices et informations système corrigés.
-
-### 
-
--   : Reprise de l’application modifiée dans les sources, pas encore testée sur Android.
-
-### 
-
--   : Premiers essais d’une image native avec affichage accéléré et batterie.
--   : Essais temporaires ; de nombreuses fonctions matérielles restent à raccorder.
+-  Bouton Accueil rond, dégradé transparent sur le fond d’écran et barre bleue dans les applications.
+-  Dégradé masqué en bas de page et rétabli au défilement ; plus de rectangle bleu à l’appui sur Accueil.
+-  Fira Sans embarquée avec graisses et italiques ; versions produit, Gaia, moteur et plateforme affichées séparément.
+-  Reprise du chargement des icônes après une première mesure de taille nulle sur les trois plateformes.
+-  PC : icônes, navigation, permissions et panneau Informations FR/EN vérifiés avec Gecko 156.0.1.
+-  Android : état de navigation conservé après recréation de l’activité. Compilation Java réussie ; rendu à retester, aucun nouvel APK livré.
+-  Tundra : image ext4 avec runtime ARM64, HAL, Phoc, Gecko et Gaia ; petits correctifs embarqués dans le ramdisk.
+-  Sargo : backend dédié, informations Pixel 3a et lecture matérielle de la batterie. Sources de construction archivées avec empreintes.
+-  Sargo : WebRender matériel, icônes et polices contrôlés sur capture physique. v5 : 10 contrôles Gaia et 8 système réussis.
+-  Sargo : ajout de pd-mapper, désactivation d’IPA non initialisé et du sondage caméra prématuré. Données NV du modem copiées en RAM pour les essais.
+-  Sargo v6 : scan Wi-Fi, connexion, IPv4, DNS et HTTPS vérifiés ; 13 contrôles Gaia et 9 système réussis. Sélection du réseau dans Gaia encore à raccorder.
+-  Essais RAM sans flash, retour automatique après dix minutes et modifications perdues à l’arrêt. Démarrage à froid réussi ; redémarrage à chaud du compositeur en échec.
+-  Pas de ROM publique ; modem, audio, caméra et veille encore à intégrer ou valider.
-## 2.7-preview.7
+## 2.7-preview.7 — APK construit, référence locale
-
-
-### 
-
--   : Versions de Vulpes, Gaia et Gecko distinguées.
-
-### 
-
--   : Gestion des autorisations et messages d’erreur plus précis.
-
-### 
-
--   : Reprise après la première demande d’autorisation corrigée.
+-  Permission caméra sur PC et reprise après la première autorisation Android.
+-  Messages distincts pour une permission refusée, un capteur absent et un échec d’ouverture.
+-  Versions produit et moteur séparées : Vulpes Preview7, Gaia 2.7.0, Gecko PC 156.0.1 et GeckoView Android 156.0.
-## 2.7-preview.6
+## 2.7-preview.6 — APK construit
-
-
-### 
-
--   : Application Photo Gaia reliée à la webcam.
--   : Import de fichiers et photos disponibles dans Galerie.
--   : Changement de capteur selon le matériel ; flash et vidéo indisponibles.
-
-### 
-
--   : Application Photo Gaia reliée aux caméras Android.
--   : Import de fichiers et photos disponibles dans Galerie.
--   : Changement de capteur selon le matériel ; flash et vidéo indisponibles.
+-  Photo Gaia sur PC et Android : aperçu et capture JPEG via webcam ou GeckoView.
+-  Enregistrement dans Galerie et import par le sélecteur du système.
+-  Flash et vidéo désactivés ; changement de caméra selon les capteurs disponibles.
-## 2.7-preview.5
+## 2.7-preview.5 — APK construit
-
-
-### 
-
--   : Réglages système, imports de médias et de contacts, notifications et essai webcam.
--   : Interface et numérotation des versions alignées avec Android.
-
-### 
-
--   : Interface et numérotation des versions alignées avec le PC.
--   : Reprise après arrière-plan et récupération de l’affichage améliorées.
+-  Versions centralisées dans `release.json` ; produit, Gaia et moteur séparés.
+-  Interface native commune PC/Android et contrôle de parité des ressources de l’APK.
+-  PC : réglages Linux, imports médias/vCard, notifications et capture webcam de test.
+-  Android : retour au premier plan et récupération après arrêt du processus de rendu.
-## 2.7-156.0.2
+## 2.7-156.0.2 — APK historique construit (révision 4)
-
-
-### 
-
--   : Réglages Android, son, luminosité, imports et notifications.
--   : Appels, SMS, horloge et caméra confiés aux applications Android.
--   : Écrans blancs et reprise après arrière-plan corrigés.
--   : Ancienne numérotation : ce numéro ne correspond pas à une mise à jour de Gecko.
+-  Android : reprise de l’activité et des sessions pour réduire les écrans blancs.
+-  Accès aux réglages Android, volume et luminosité de la fenêtre.
+-  Import de médias et contacts ; notifications natives avec permissions.
+-  Transfert vers Téléphone, SMS, Horloge et Appareil photo Android. Aucun envoi silencieux ni remplacement des applications par défaut.
+-  Numérotation historique : moteur Android Gecko 156.0, malgré le nom 2.7-156.0.2.
-## 2.7-156.0.1
+## 2.7-156.0.1 — APK publié (révision 3)
-
-
-### 
-
--   : Nom « Vulpes OS – Preview » et icône du projet.
--   : Clignotement du fond d’écran corrigé.
--   : Ancienne numérotation, conservée pour retrouver cette publication.
+-  Nom « Vulpes OS - Preview » et icône du projet.
+-  Clignotement du fond d’écran corrigé.
+-  Numérotation historique, distincte de la version du moteur Android.
[Release](https://nnsprod.com/git/oversu/VulpesOS/releases/tag/android-2.7-156.0.1)
-## 2.7-preview.2
+## 2.7-preview.2 — APK publié
-
-
-### 
-
--   : Clignotement du fond d’écran corrigé.
+-  Clignotement du fond d’écran dans la Preview Android.
[Release](https://nnsprod.com/git/oversu/VulpesOS/releases/tag/android-2.7-preview.2)
-## 2.7-preview.1
+## 2.7-preview.1 — APK publié
-
-
-### 
-
--   : Première Preview Android pour découvrir Vulpes sans flasher le téléphone.
--   : Fond d’écran clignotant connu dans cette première version.
+-  Première Preview Android avec Gaia et GeckoView.
+-  Version archivée ; clignotement du fond d’écran connu.
[Release](https://nnsprod.com/git/oversu/VulpesOS/releases/tag/android-2.7-preview.1)
-## Premières étapes
+## Étapes antérieures — rétrospective technique
-### 
-
--   : Adaptation des contacts, messages, paramètres, alarmes et du stockage.
--   : Création de Vulpes : identité visuelle, traductions et informations système.
--   : Passage des anciens moteurs Firefox OS à un Gecko moderne.
-
-### 
-
--   : Premiers démarrages natifs et essais matériels sur le Pixel 3a.
+-  Base Gaia historique avec identité Vulpes, fond d’écran, traductions et informations système.
+-  Portage expérimental Gecko 45 vers 52, puis séparation de Gaia, des services et du moteur.
+-  API de réglages, applications, contacts, messages, alarmes, stockage et communications entre applications.
+-  Adaptation des composants Gaia, gestes tactiles, navigateur et applications aux moteurs récents.
+-  Mise à jour Gecko avec contrôles et retour arrière ; mise à jour Gaia sans recompilation du moteur.
+-  Applications Firefox OS archivées, QEMU, puis Gecko ARM64 dans Droidian et sous compositeur dédié.
+-  Sargo : inventaire, sauvegardes de boot, racine distincte, services HAL et PID 1 Tundra.
+-  Essais graphiques Fastboot temporaires avec secours SSH et retour automatique.
+-  Noyau 4.9-124-google-sargo, adaptation Android 9/API 28. Étapes historiques, sans nouvelles releases datées.
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 4eb33b18..fae6411a 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -1,9 +1,5 @@
-
-
-
-
diff --git a/android/app/src/main/java/org/vulpes_os/preview/AndroidPersonalData.java b/android/app/src/main/java/org/vulpes_os/preview/AndroidPersonalData.java
deleted file mode 100644
index ad17c798..00000000
--- a/android/app/src/main/java/org/vulpes_os/preview/AndroidPersonalData.java
+++ /dev/null
@@ -1,172 +0,0 @@
-package org.vulpes_os.preview;
-
-import android.Manifest;
-import android.content.ContentResolver;
-import android.content.ContentUris;
-import android.content.Context;
-import android.content.Intent;
-import android.content.pm.PackageManager;
-import android.database.Cursor;
-import android.database.ContentObserver;
-import android.os.Handler;
-import android.os.Looper;
-import java.util.HashMap;
-import java.util.Map;
-import android.net.Uri;
-import android.provider.CallLog;
-import android.provider.ContactsContract;
-import android.provider.Telephony;
-import org.json.JSONArray;
-import org.json.JSONObject;
-
-/** Read-through access. Android remains the owner of contacts and telephony records. */
-final class AndroidPersonalData {
- private final Context context;
- private final Handler main = new Handler(Looper.getMainLooper());
- private final Map observers = new HashMap<>();
- private final Map pending = new HashMap<>();
- void changed(String kind) {
- Runnable previous = pending.remove(kind);
- if (previous != null) main.removeCallbacks(previous);
- Runnable next = () -> {
- pending.remove(kind);
- VulpesApplication app = (VulpesApplication) context;
- if (app.port == null) return;
- try { app.port.postMessage(new JSONObject().put("type", "android-data-changed").put("kind", kind)); }
- catch (Exception ignored) { /* The resume event refreshes detached sessions. */ }
- };
- pending.put(kind, next);
- main.postDelayed(next, 250);
- }
- void observe() {
- for (String kind : new String[]{"contacts", "sms", "calls"}) {
- if (granted(kind) && !observers.containsKey(kind)) {
- ContentObserver observer = new ContentObserver(main) {
- @Override public void onChange(boolean selfChange) { changed(kind); }
- };
- Uri uri = kind.equals("contacts") ? ContactsContract.Contacts.CONTENT_URI :
- kind.equals("sms") ? Telephony.Sms.CONTENT_URI : CallLog.Calls.CONTENT_URI;
- try {
- context.getContentResolver().registerContentObserver(uri, true, observer);
- observers.put(kind, observer);
- } catch (SecurityException ignored) { /* Permission can be revoked during registration. */ }
- } else if (!granted(kind) && observers.containsKey(kind)) {
- context.getContentResolver().unregisterContentObserver(observers.remove(kind));
- }
- }
- }
-
- AndroidPersonalData(Context context) { this.context = context; }
-
- static String permission(String kind) {
- switch (kind) {
- case "contacts": return Manifest.permission.READ_CONTACTS;
- case "sms": return Manifest.permission.READ_SMS;
- case "calls": return Manifest.permission.READ_CALL_LOG;
- default: throw new IllegalArgumentException("INVALID_DATA_KIND");
- }
- }
-
- boolean granted(String kind) {
- return context.getSharedPreferences("personal-data", 0).getBoolean(kind, false) &&
- context.checkSelfPermission(permission(kind)) == PackageManager.PERMISSION_GRANTED;
- }
-
- void enable(String kind, boolean value) {
- permission(kind);
- context.getSharedPreferences("personal-data", 0).edit().putBoolean(kind, value).apply();
- observe();
- changed(kind);
- }
-
- JSONObject status() throws Exception {
- JSONObject result = new JSONObject();
- for (String kind : new String[]{"contacts", "sms", "calls"}) result.put(kind, granted(kind));
- return result;
- }
-
- JSONObject page(JSONObject params) throws Exception {
- String kind = params.getString("kind");
- if (!granted(kind)) throw new SecurityException("ANDROID_DATA_PERMISSION_DENIED");
- long after = params.optLong("after", 0);
- if (after < 0) throw new IllegalArgumentException("INVALID_CURSOR");
- Uri uri;
- String[] columns;
- switch (kind) {
- case "contacts":
- uri = ContactsContract.Contacts.CONTENT_URI;
- columns = new String[]{"_id", "display_name", "starred", "contact_last_updated_timestamp"};
- break;
- case "sms":
- uri = Telephony.Sms.CONTENT_URI;
- columns = new String[]{"_id", "thread_id", "address", "body", "date", "type", "read", "status"};
- break;
- default:
- uri = CallLog.Calls.CONTENT_URI;
- columns = new String[]{"_id", "number", "date", "duration", "type"};
- }
- JSONArray rows = new JSONArray();
- long last = after;
- boolean more = false;
- ContentResolver resolver = context.getContentResolver();
- // A key cursor avoids SQL LIMIT syntax differences between Android providers.
- try (Cursor cursor = resolver.query(uri, columns, "_id > ?", new String[]{Long.toString(after)}, "_id ASC")) {
- if (cursor == null) throw new IllegalStateException("ANDROID_PROVIDER_UNAVAILABLE");
- int bytes = 0;
- while (cursor.moveToNext()) {
- if (rows.length() >= 100 || bytes > 512 * 1024) { more = true; break; }
- JSONObject row = new JSONObject();
- for (int i = 0; i < columns.length; i++) {
- row.put(columns[i], cursor.isNull(i) ? JSONObject.NULL :
- cursor.getType(i) == Cursor.FIELD_TYPE_INTEGER ? cursor.getLong(i) : cursor.getString(i));
- }
- last = cursor.getLong(0);
- if (kind.equals("contacts")) contactDetails(last, row);
- rows.put(row);
- bytes += row.toString().length() * 2;
- }
- }
- return new JSONObject().put("rows", rows).put("next", more ? last : JSONObject.NULL);
- }
-
- private void contactDetails(long id, JSONObject contact) throws Exception {
- JSONArray phones = new JSONArray(), emails = new JSONArray();
- contact.put("tel", phones).put("email", emails);
- try (Cursor c = context.getContentResolver().query(ContactsContract.Data.CONTENT_URI,
- new String[]{"mimetype", "data1", "data2", "data3", "is_primary"},
- "contact_id = ? AND mimetype IN (?, ?, ?)", new String[]{Long.toString(id),
- ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE,
- ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE,
- ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE}, "_id ASC")) {
- if (c == null) throw new IllegalStateException("ANDROID_PROVIDER_UNAVAILABLE");
- while (c.moveToNext()) {
- String mime = c.getString(0);
- if (mime.equals(ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)) {
- if (!contact.has("givenName")) contact.put("givenName", new JSONArray().put(c.getString(2)))
- .put("familyName", new JSONArray().put(c.getString(3)));
- } else {
- boolean phone = mime.equals(ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE);
- int type = c.getInt(2);
- String label = type == 0 ? c.getString(3) : phone ?
- (type == 2 ? "mobile" : type == 1 ? "home" : type == 3 ? "work" : "other") :
- (type == 1 ? "home" : type == 2 ? "work" : "other");
- (phone ? phones : emails).put(new JSONObject().put("value", c.getString(1))
- .put("type", new JSONArray().put(label == null ? "other" : label)).put("pref", c.getInt(4) != 0));
- }
- }
- }
- }
-
- Intent open(JSONObject params) {
- String kind = params.optString("kind");
- if (kind.equals("contacts")) {
- String id = params.optString("id");
- if (!id.matches("[1-9][0-9]{0,15}")) throw new IllegalArgumentException("INVALID_CONTACT");
- if (!granted(kind)) throw new SecurityException("ANDROID_DATA_PERMISSION_DENIED");
- return new Intent(Intent.ACTION_VIEW, ContentUris.withAppendedId(ContactsContract.Contacts.CONTENT_URI, Long.parseLong(id)));
- }
- if (kind.equals("sms")) return new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_APP_MESSAGING);
- if (kind.equals("calls")) return new Intent(Intent.ACTION_VIEW, CallLog.Calls.CONTENT_URI);
- throw new IllegalArgumentException("INVALID_DATA_KIND");
- }
-}
diff --git a/android/app/src/main/java/org/vulpes_os/preview/AndroidServices.java b/android/app/src/main/java/org/vulpes_os/preview/AndroidServices.java
index 8aded31a..64020f99 100644
--- a/android/app/src/main/java/org/vulpes_os/preview/AndroidServices.java
+++ b/android/app/src/main/java/org/vulpes_os/preview/AndroidServices.java
@@ -24,7 +24,6 @@ final class AndroidServices {
CONTACT = 412;
static final long MAX_MEDIA = 32L * 1024 * 1024;
final VulpesApplication app;
- final AndroidPersonalData personal;
final ExecutorService io = Executors.newSingleThreadExecutor();
final Handler main = new Handler(Looper.getMainLooper());
GeckoResult