Replace placeholder page with Svelte 5 + Vite frontend #1
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
#4 Implement SermonErrorStore + ErrorsPanel UI surface
lyssieth/sermones
#11 Attachment sending
lyssieth/sermones
Reference
lyssieth/sermones#1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Replace the placeholder page (
crates/sermones/resources/frontend/index.html) with a real Svelte 5 + Vite + TypeScript frontend. Design authority for the real UI:docs/designs/draft/frontend.md.Checklist
frontend/, pnpm-pinned, Lightning CSS pipeline (ce4774e). Deliberate deviation: debug loadsfrontend/dist/from disk rather than the Vite dev server URL; the browser dev-server workflow is tied to the planned WebSocket carrier inipc-pipeline.md. Release embedsdist/via qrc.frontend/src/lib/bridge.ts); codegen artefacts emit intofrontend/src/generated/(ef9b217)generated/schemas.jsonwired intofrontend/src/lib/bridge.ts(wrapCallvalidates outgoing,unwrapIncomingvalidates incoming; failures surface asipc-drift). Seedocs/architecture/ipc-pipeline.mdfrontend/src/lib/AttachmentView.svelte) with hand-written view types (frontend/src/lib/attachments.ts) mirroringcrates/sermones-core/src/llm/attachment.rs. Nothing produces attachments yet; the producing surface lands with #11, at which point the view types come from codegenThe real UI per
frontend.mdis tracked separately: #5 (token core), #6 (chat view), #7 (conversation panel), #8 (composer), #9 (settings). Sending attachments: #11.Out of scope (tracked separately):
SermonErrorStore+ErrorsPanel(#4), persistence backend (#2), configuration loader (#3).Refs:
docs/designs/draft/frontend.md— the design briefdocs/designs/draft/architecture/framework-choice.md— why Qt + Chromiumdocs/architecture/ipc-pipeline.md— envelope, schema-hash, TypeBox validatordocs/invariants/ipc-schema-hash.md— handshake contractdocs/invariants/error-visibility.md— how errors must surfacedocs/invariants/html-sanitization.md— every HTML chunk passes throughsanitize_html_fragment