docs: refresh README + docs/ for v0.2.0
The README still framed the project as "Phase 5 / pre-v0.1.0" and the docs predated the v0.2.0 surface (typed BridgeOp, public service interfaces, port negotiation, pre-migration auto-backup, bridge:export, periodic auto-update, two new makers, qmltestrunner). Bring them in line with what's actually shipped, and add badges (release, license, PHP, Symfony, Qt, FrankenPHP, CI, platform) to the README so the status is legible at a glance. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -38,8 +38,9 @@ QML singleton. Lifecycle owner: detects dev vs bundled mode at construction, sup
|
||||
| Method | Description |
|
||||
| --- | --- |
|
||||
| `restart()` | Bundled mode: tear down + respawn FrankenPHP. Dev mode: re-probe. |
|
||||
| `checkForUpdates()` | Bundled mode: invoke AppImageUpdate sidecar `--check-for-update`. |
|
||||
| `applyUpdate()` | Bundled mode: invoke AppImageUpdate sidecar `--remove-old`. |
|
||||
| `checkForUpdates()` | Bundled mode: invoke AppImageUpdate sidecar `--check-for-update`. The supervisor also calls this automatically on launch (10 s after `Online`) and every 6 h thereafter — see [Bundled mode §periodic check](bundled-mode.md#periodic-check). |
|
||||
| `applyUpdate()` | Bundled mode: invoke AppImageUpdate sidecar `--remove-old`. Never auto-restarts the app. |
|
||||
| `exportDatabase(path)` | `Q_INVOKABLE bool`. Copies the active SQLite database to `path`; returns success synchronously and emits `databaseExported(path)` / `databaseExportFailed(reason)` for async UX. Mirrors the `bridge:export` console command. See below. |
|
||||
| `childLogTail()` | Bundled mode: returns `QStringList` of last ≤500 child output lines. |
|
||||
|
||||
### Signals
|
||||
@@ -53,6 +54,8 @@ QML singleton. Lifecycle owner: detects dev vs bundled mode at construction, sup
|
||||
| `updateCheckFailed(QString reason)` | Sidecar errored, env unset, or dev mode. |
|
||||
| `updateApplied()` | Update was downloaded and applied; user should restart. |
|
||||
| `updateApplyFailed(QString reason)` | Apply errored. |
|
||||
| `databaseExported(QString path)` | `exportDatabase()` succeeded. |
|
||||
| `databaseExportFailed(QString reason)` | `exportDatabase()` errored (non-SQLite `DATABASE_URL`, missing source, write failed). |
|
||||
| `childLogLine(QString line)` | Emitted per line read from the bundled child's merged stdout+stderr. |
|
||||
|
||||
### Example
|
||||
@@ -72,6 +75,32 @@ Item {
|
||||
}
|
||||
```
|
||||
|
||||
### `exportDatabase`
|
||||
|
||||
Pair with `Qt.labs.platform.FileDialog` so the user picks a destination natively:
|
||||
|
||||
```qml
|
||||
import Qt.labs.platform as Platform
|
||||
|
||||
Platform.FileDialog {
|
||||
id: saveDlg
|
||||
title: "Export database"
|
||||
fileMode: Platform.FileDialog.SaveFile
|
||||
nameFilters: ["SQLite (*.sqlite)"]
|
||||
onAccepted: BackendConnection.exportDatabase(Qt.url.toLocalFile(currentFile))
|
||||
}
|
||||
|
||||
Connections {
|
||||
target: BackendConnection
|
||||
function onDatabaseExported(path) { tray.showMessage("Saved", path) }
|
||||
function onDatabaseExportFailed(reason) { error.text = reason }
|
||||
}
|
||||
|
||||
Button { text: "Export…"; onClicked: saveDlg.open() }
|
||||
```
|
||||
|
||||
`exportDatabase()` returns synchronously (`true` on success, `false` on failure) — the signals exist for cases where the caller is decoupled from the click handler. See [PHP API §bridge:export](php-api.md#bridgeexport) for the equivalent CLI command.
|
||||
|
||||
---
|
||||
|
||||
## `RestClient`
|
||||
|
||||
Reference in New Issue
Block a user