You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
-**Coverage exclusion** — `src/tunnel.js`and `src/devtunnel-install.js` are excluded from coverage (requires external DevTunnel CLI)
79
94
-**Connection config** — server writes `~/.termbeam/connection.json` on start (port, host, password) for `termbeam resume` auto-discovery; removed on shutdown
- Landing site (`landing/`) deploys via `.github/workflows/landing.yml`.
127
+
- Docs deploy via `.github/workflows/pages.yml`.
128
+
129
+
**IMPORTANT:** When asked to create a PR, open a PR, push to main, publish, release, or submit changes, **always use the `publish` skill**. It orchestrates the full workflow: local tests, lint, coverage, docs check, commit, push (or PR flow with proper branch naming), CI verification, and release. Do not manually run `gh pr create` or `git push origin main` — the skill handles all of this with the correct conventions.
130
+
98
131
## Demo Video
99
132
100
133
The demo video lives in `demo-video/` and is built with Remotion 4 + TypeScript + React, using the remotion agent skill "npx skills add remotion-dev/skills".
Copy file name to clipboardExpand all lines: docs/api.md
+42Lines changed: 42 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -328,6 +328,48 @@ Returned when the file's magic bytes don't match the declared `Content-Type` hea
328
328
329
329
Maximum file size is 10 MB.
330
330
331
+
#### `POST /api/sessions/:id/upload`
332
+
333
+
Upload a file to a session's working directory. The request body is the raw file content. The filename is provided via the `X-Filename` header and sanitized server-side (path traversal sequences are stripped). Duplicate filenames are auto-renamed (e.g., `file (1).txt`).
334
+
335
+
**Request headers:**
336
+
337
+
-`Content-Type`: The file's MIME type (e.g., `application/octet-stream`)
338
+
-`X-Filename`: Original filename (required)
339
+
-`X-Target-Dir`: Override destination directory (optional, defaults to session cwd)
- A quick way to discover all available features and shortcuts
41
41
42
+
### File Upload
43
+
44
+
- Open the **command palette** and select **Upload files** to send files from your phone (or any browser) to the active session's working directory
45
+
- Select one or more files — a confirmation modal shows the file list with sizes and the destination directory
46
+
- Use the **folder browser** to choose a different target directory
47
+
- Files exceeding 10 MB are flagged and cannot be uploaded
48
+
- After upload, a toast notification confirms the count and destination
49
+
42
50
### Notifications
43
51
44
52
- Open the **command palette** (<kbd>Ctrl+K</kbd> / <kbd>Cmd+K</kbd>) and select **Toggle notifications** to enable **command completion notifications**
0 commit comments