mirror of
https://github.com/pelgraine/Meck.git
synced 2026-03-28 17:42:44 +01:00
updated web app guide to note new search function and IRC details
This commit is contained in:
146
Web App Guide.md
146
Web App Guide.md
@@ -1,15 +1,97 @@
|
||||
# Web Reader - Integration Summary
|
||||
# Web Reader & IRC - Meck v0.9.5
|
||||
|
||||
### Conditional Compilation
|
||||
All web reader code is wrapped in `#ifdef MECK_WEB_READER` guards. The flag is set:
|
||||
- **meck_audio_ble**: Yes (`-D MECK_WEB_READER=1`) — WiFi available via BLE radio stack
|
||||
- **meck_4g_ble**: Yes (`-D MECK_WEB_READER=1`) — WiFi now, PPP via A7682E in future
|
||||
- **meck_audio_standalone**: No — excluded to preserve zero-radio-power design
|
||||
Press **B** from the home screen to open the web reader. The web reader is
|
||||
available on the BLE and 4G variants. It is excluded from the standalone audio
|
||||
variant to preserve zero-radio-power design.
|
||||
|
||||
### 4G Modem / PPP Support
|
||||
The web reader uses `isNetworkAvailable()` which checks both WiFi and (future) PPP connectivity. The `fetchPage()` method uses ESP32's standard `HTTPClient` which routes through whatever network interface is active — WiFi or PPP.
|
||||
The web reader home screen provides access to the **IRC client**, the **URL
|
||||
bar**, your **bookmarks**, and browsing **history**. Use **W / S** to navigate
|
||||
the list and **Enter** to select an item.
|
||||
|
||||
When PPP support is added to the 4G modem driver, the web reader will work over cellular automatically without code changes. The `isNetworkAvailable()` method has a `TODO` placeholder for the PPP status check.
|
||||
## Web Browser
|
||||
|
||||
A text-centric web browser ("reader mode") that fetches pages over WiFi,
|
||||
strips HTML to readable text, extracts links as numbered references, and
|
||||
paginates content for the e-ink display. Still very much in development, but
|
||||
already useful for text-heavy websites.
|
||||
|
||||
Includes basic web search via **DuckDuckGo Lite** — type a search query into
|
||||
the URL bar and it will be sent to DuckDuckGo.
|
||||
|
||||
### EPUB Downloads
|
||||
|
||||
If you follow a link to an `.epub` file, it will be saved directly to the
|
||||
`/books/` folder on your SD card. You can then read it in the e-book reader
|
||||
(press **E** from the home screen).
|
||||
|
||||
### Bookmarks
|
||||
|
||||
Press **K** while on a page to save a bookmark. Bookmarks appear on the web
|
||||
reader home screen below the URL bar. To delete a bookmark, open the browser
|
||||
home screen, scroll down to the bookmark, and press **Delete**.
|
||||
|
||||
### Cookies & History
|
||||
|
||||
Press **X** to clear cookies and browsing history.
|
||||
|
||||
---
|
||||
|
||||
## IRC Client
|
||||
|
||||
The IRC client lets you connect to IRC networks directly from the device. It
|
||||
is accessed from the web reader home screen — select **IRC Chat** (the first
|
||||
item) and press **Enter**.
|
||||
|
||||
If you are not currently connected, the IRC setup screen opens where you can
|
||||
configure the server, port, nickname, and channel. If you are already
|
||||
connected, you go straight to the chat view.
|
||||
|
||||
### IRC Setup
|
||||
|
||||
The setup screen has five fields. Use **W / S** to navigate between them and
|
||||
press **Enter** to edit a field (type the value, then **Enter** to confirm).
|
||||
|
||||
| Field | Description | Default |
|
||||
|-------|-------------|---------|
|
||||
| Host | IRC server hostname (e.g. `irc.libera.chat`) | — |
|
||||
| Port | Server port. Use `6697` for TLS or `6667` for plain | 6697 |
|
||||
| Nick | Your IRC nickname (max 16 characters) | — |
|
||||
| Channel | Channel to join, including the `#` (e.g. `#meshcore`) | — |
|
||||
| Connect | Select and press Enter to connect | — |
|
||||
|
||||
TLS is used automatically when the port is 6697. Other ports connect without
|
||||
encryption.
|
||||
|
||||
Configuration is saved to the SD card at `/web/irc.cfg` and restored on next
|
||||
launch, so you only need to enter server details once.
|
||||
|
||||
If WiFi is not connected when you press Connect, you'll be taken to the WiFi
|
||||
setup screen first.
|
||||
|
||||
### IRC Chat View
|
||||
|
||||
Once connected and joined to the channel, you'll see messages in a scrollable
|
||||
chat view. The channel name and connection status are shown at the top.
|
||||
|
||||
| Key | Action |
|
||||
|-----|--------|
|
||||
| Enter | Start composing a message (type, then Enter to send) |
|
||||
| Backspace | Delete last character while composing; exit compose if empty |
|
||||
| W / S | Scroll up (older) / down (newer) through messages |
|
||||
| X | Disconnect from IRC and return to web reader home |
|
||||
| Q | Return to web reader home (connection stays alive in background) |
|
||||
|
||||
The IRC connection remains active when you press **Q** to go back to the web
|
||||
reader home screen. You'll see the connection status and channel name displayed
|
||||
on the IRC Chat line. Select it and press Enter to return to the chat. Press
|
||||
**X** from the chat view to disconnect.
|
||||
|
||||
The client automatically reconnects if the connection drops (10-second delay
|
||||
between attempts) and detects dead connections after 5 minutes of inactivity
|
||||
via ping timeout.
|
||||
|
||||
Messages are stored in a circular buffer of 64 messages. Older messages are
|
||||
discarded as new ones arrive.
|
||||
|
||||
---
|
||||
|
||||
@@ -23,8 +105,8 @@ When PPP support is added to the 4G modem driver, the web reader will work over
|
||||
### Web Reader - Home View
|
||||
| Key | Action |
|
||||
|-----|--------|
|
||||
| `w` / `s` | Navigate up/down in bookmarks/history |
|
||||
| `Enter` | Select URL bar or bookmark/history item |
|
||||
| `w` / `s` | Navigate up/down in IRC / URL bar / bookmarks / history |
|
||||
| `Enter` | Select IRC Chat, activate URL bar, or open bookmark/history item |
|
||||
| Type | Enter URL (when URL bar is active) |
|
||||
| `q` | Exit to firmware home |
|
||||
|
||||
@@ -36,6 +118,7 @@ When PPP support is added to the 4G modem driver, the web reader will work over
|
||||
| `l` or `Enter` | Enter link selection (type link number) |
|
||||
| `g` | Go to new URL (return to web reader home) |
|
||||
| `k` | Bookmark current page |
|
||||
| `x` | Clear cookies and history |
|
||||
| `q` | Back to web reader home |
|
||||
|
||||
### Web Reader - WiFi Setup
|
||||
@@ -46,6 +129,37 @@ When PPP support is added to the 4G modem driver, the web reader will work over
|
||||
| Type | Enter WiFi password |
|
||||
| `q` | Back |
|
||||
|
||||
### IRC - Setup View
|
||||
| Key | Action |
|
||||
|-----|--------|
|
||||
| `w` / `s` | Navigate fields (Host / Port / Nick / Channel / Connect) |
|
||||
| `Enter` | Edit selected field, or connect (when on Connect button) |
|
||||
| Type | Enter field value (when editing) |
|
||||
| `Backspace` | Delete last character (when editing) |
|
||||
| `q` | Back to web reader home |
|
||||
|
||||
### IRC - Chat View
|
||||
| Key | Action |
|
||||
|-----|--------|
|
||||
| `Enter` | Start composing / send message |
|
||||
| `Backspace` | Delete character / exit compose if empty |
|
||||
| `w` / `s` | Scroll older / newer messages |
|
||||
| `x` | Disconnect and return to web reader home |
|
||||
| `q` | Back to web reader home (stays connected) |
|
||||
|
||||
---
|
||||
|
||||
## WiFi
|
||||
|
||||
The web reader and IRC client both use WiFi for network access. On first use,
|
||||
you'll be taken to the WiFi setup screen to scan for networks and enter a
|
||||
password. Credentials are saved to `/web/wifi.cfg` on the SD card and used for
|
||||
auto-reconnect on subsequent launches.
|
||||
|
||||
On the 4G variant, the web reader currently uses WiFi. A future update will add
|
||||
PPP support via the A7682E cellular modem, allowing the browser and IRC to work
|
||||
over cellular data without WiFi.
|
||||
|
||||
---
|
||||
|
||||
## SD Card Structure
|
||||
@@ -54,4 +168,14 @@ When PPP support is added to the 4G modem driver, the web reader will work over
|
||||
wifi.cfg - Saved WiFi credentials (auto-reconnect)
|
||||
bookmarks.txt - One URL per line
|
||||
history.txt - Recent URLs, newest first
|
||||
irc.cfg - IRC server/port/nick/channel config
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Conditional Compilation
|
||||
All web reader code is wrapped in `#ifdef MECK_WEB_READER` guards. The flag is set:
|
||||
- **meck_audio_ble**: Yes (`-D MECK_WEB_READER=1`) — WiFi available via BLE radio stack
|
||||
- **meck_4g_ble**: Yes (`-D MECK_WEB_READER=1`) — WiFi now, PPP via A7682E in future
|
||||
- **meck_4g_standalone**: Yes (`-D MECK_WEB_READER=1`) — WiFi works better without BLE (no teardown needed, more free heap)
|
||||
- **meck_audio_standalone**: No — excluded to preserve zero-radio-power design
|
||||
Reference in New Issue
Block a user