No description
- Go 54.1%
- JavaScript 15.6%
- Nix 8.3%
- Shell 7.3%
- TypeScript 7%
- Other 7.7%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
All checks were successful
ci/crow/push/build Pipeline was successful
Transcript administrators can start a new paragraph at a segment boundary, but not in the middle of a segment's text. #68 added paragraph breaks and stored each one on a segment, so a break mid-sentence means splitting that segment in two. The store can't split a segment yet. This change builds everything between the click and that split, so the next change only has to teach the store to split: - A break inside a segment's text posts to `POST /admin/transcripts/{slug}/segments/{id}/paragraph-break` with the segment's text and the break's offset. A break at either end of a segment still takes the boundary path from #68. Both Shift-click and the context menu reach the new endpoint. - The handler parses the request and answers `501 Not Implemented` until the store can split. It retargets the response to the editor's error region, so an error never replaces the transcript. A malformed segment ID answers `400` the same way. - An unsaved edit in another segment saves first, and the break request follows once that save returns. Until the split lands, a break inside a segment reports "Paragraph breaks within a segment are not implemented yet." Before this change, that click did nothing at all. Testing gap: no browser test exercises the context menu's paragraph action, here or before this change. Only Shift-click runs in a browser. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Reviewed-on: #69 |
||
| .crow | ||
| .vscode | ||
| cmd/app | ||
| dev-scripts | ||
| e2e | ||
| handlers | ||
| store | ||
| transcripts | ||
| .air.toml | ||
| .env.example | ||
| .envrc | ||
| .gitignore | ||
| .prettierignore | ||
| .prettierrc | ||
| .sqlfluffignore | ||
| AGENTS.md | ||
| CLAUDE.md | ||
| docker-entrypoint | ||
| eslint.config.js | ||
| flake.lock | ||
| flake.nix | ||
| fly.toml | ||
| go.mod | ||
| go.sum | ||
| litestream.yml | ||
| nix-ci.nix | ||
| package.json | ||
| playwright.config.ts | ||
| pnpm-lock.yaml | ||
| README.md | ||
Open Easthampton Transcripts
Open Easthampton Transcripts publishes Easthampton meeting transcripts.
Deployment
Fly.io
To deploy manually to Fly.io, replace fly.toml with your own, and provide a Fly API token:
FLY_API_TOKEN='your-api-token' nix run .#deploy-to-fly
The deploy targets the app named in fly.toml. Set FLY_APP to deploy to a differently-named app without editing fly.toml.
The image is tagged with the current commit (git rev-parse --short HEAD). Set DEPLOY_IMAGE_TAG to override it.