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

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 12 additions & 5 deletions docs/.well-known/llms-full.txt
Original file line number Diff line number Diff line change
Expand Up @@ -28672,7 +28672,9 @@ await Fliplet.require.lazy.chain('fliplet-media');

## Capturing a photo: Fliplet.Media.capture()

`Fliplet.Media.capture()` resolves with the chosen image as an **optimized WebP `File`** — downscaled to `maxWidth`/`maxHeight` and re-encoded to keep uploads small, so you don't ship a multi-megapixel original over the wire. It works the same on web and native — on native it drives the device camera or photo library; on web it opens the file picker (hinting the camera when you ask for one). You never touch the platform camera APIs yourself, the same way you build a login screen on top of `Fliplet.Session`.
`Fliplet.Media.capture()` resolves with the chosen image as a `File`, downscaled to `maxWidth`/`maxHeight` so you don't ship a multi-megapixel original over the wire. It works the same on web and native — on native it drives the device camera or photo library; on web it opens the file picker (hinting the camera when you ask for one). You never touch the platform camera APIs yourself, the same way you build a login screen on top of `Fliplet.Session`.

You don't need to care what the image is encoded as — hand the result to `Files.upload()` and Fliplet handles the rest.

```js
await Fliplet.require.lazy.chain('fliplet-media');
Expand All @@ -28694,11 +28696,11 @@ const picked = await Fliplet.Media.capture({ source: 'library' }); // straight t
`capture(options)` accepts:

* **options.source** (String) — `'ask'` (**default**, lets the user choose), `'camera'`, or `'library'`. On native, `'ask'` shows the OS chooser; on web the browser decides, and `'camera'` hints the rear camera on mobile.
* **options.quality** (Number) — WebP quality `0`–`100`. **Default** `80`.
* **options.quality** (Number) — image quality `0`–`100`. **Default** `80`.
* **options.maxWidth** (Number) — longest-edge width cap in px; the image is scaled down to fit and never upscaled. **Default** `2048`.
* **options.maxHeight** (Number) — longest-edge height cap in px. **Default** `2048`.

It resolves with an optimized WebP `File` and rejects if the user cancels or no camera is available — handle the rejection so the screen doesn't hang.
It resolves with a `File` and rejects if the user cancels or no camera is available — handle the rejection so the screen doesn't hang.

> **Photos only.** `capture()` takes still images. To collect audio or video, let the user **upload an existing file** with `Files.upload()` (below) — there is no audio/video *recording* API.

Expand Down Expand Up @@ -36115,13 +36117,14 @@ Release notes for the Fliplet iOS and Android native frameworks — rebuild your
<h4>iOS</h4>
<p>Current release: <u>6.4.6</u></p>
<p>Target SDK version: 17</p>
<p>Minimum supported version: iOS 17</p>
</div>
</div>
<div class="bl two">
<div>
<h4>Android</h4>
<p>Current release: <u>6.4.4</u></p>
<p>Target API level: 36</p>
<p>Current release: <u>6.4.7</u></p>
<p>Target API level: 37</p>
<p>Minimum supported SDK: 29 (Android 10)</p>
</div>
</div>
Expand All @@ -36132,6 +36135,10 @@ Release notes for the Fliplet iOS and Android native frameworks — rebuild your

## Supported versions

### Version 6.4.7 (July 16, 2026)

- **Android**: The target SDK has now been set to 37 (Android 17)

### Version 6.4.6 (February 09, 2026)

- **iOS**: iOS apps are now built using Xcode 26.
Expand Down
2 changes: 1 addition & 1 deletion docs/.well-known/llms-v3-libraries.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"version": 1,
"generatedAt": "2026-07-02T10:13:20.806Z",
"generatedAt": "2026-07-22T13:41:33.000Z",
"libraries": [
{
"package": "fliplet-analytics-spa",
Expand Down
8 changes: 5 additions & 3 deletions docs/API/v3/media.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,9 @@ await Fliplet.require.lazy.chain('fliplet-media');

## Capturing a photo: Fliplet.Media.capture()

`Fliplet.Media.capture()` resolves with the chosen image as an **optimized WebP `File`** — downscaled to `maxWidth`/`maxHeight` and re-encoded to keep uploads small, so you don't ship a multi-megapixel original over the wire. It works the same on web and native — on native it drives the device camera or photo library; on web it opens the file picker (hinting the camera when you ask for one). You never touch the platform camera APIs yourself, the same way you build a login screen on top of `Fliplet.Session`.
`Fliplet.Media.capture()` resolves with the chosen image as a `File`, downscaled to `maxWidth`/`maxHeight` so you don't ship a multi-megapixel original over the wire. It works the same on web and native — on native it drives the device camera or photo library; on web it opens the file picker (hinting the camera when you ask for one). You never touch the platform camera APIs yourself, the same way you build a login screen on top of `Fliplet.Session`.

You don't need to care what the image is encoded as — hand the result to `Files.upload()` and Fliplet handles the rest.

```js
await Fliplet.require.lazy.chain('fliplet-media');
Expand All @@ -49,11 +51,11 @@ const picked = await Fliplet.Media.capture({ source: 'library' }); // straight t
`capture(options)` accepts:

* **options.source** (String) — `'ask'` (**default**, lets the user choose), `'camera'`, or `'library'`. On native, `'ask'` shows the OS chooser; on web the browser decides, and `'camera'` hints the rear camera on mobile.
* **options.quality** (Number) — WebP quality `0`–`100`. **Default** `80`.
* **options.quality** (Number) — image quality `0`–`100`. **Default** `80`.
* **options.maxWidth** (Number) — longest-edge width cap in px; the image is scaled down to fit and never upscaled. **Default** `2048`.
* **options.maxHeight** (Number) — longest-edge height cap in px. **Default** `2048`.

It resolves with an optimized WebP `File` and rejects if the user cancels or no camera is available — handle the rejection so the screen doesn't hang.
It resolves with a `File` and rejects if the user cancels or no camera is available — handle the rejection so the screen doesn't hang.

> **Photos only.** `capture()` takes still images. To collect audio or video, let the user **upload an existing file** with `Files.upload()` (below) — there is no audio/video *recording* API.

Expand Down
Loading