fix: replay channel state on SPA reconnect #61

Merged
sneak merged 7 commits from fix/spa-reconnect-channel-tabs into main 2026-03-10 11:08:13 +01:00
2 changed files with 7 additions and 3 deletions
Showing only changes of commit aa746177e5 - Show all commits

View File

@@ -15,7 +15,9 @@ WORKDIR /src
COPY go.mod go.sum ./
RUN go mod download
COPY . .
COPY --from=web-builder /web/dist/ web/dist/
# Create placeholder files so //go:embed dist/* in web/embed.go resolves
# without depending on the web-builder stage (lint should fail fast)
RUN mkdir -p web/dist && touch web/dist/index.html web/dist/style.css web/dist/app.js
RUN make fmt-check
RUN make lint

View File

@@ -1854,9 +1854,11 @@ The Dockerfile is a four-stage build:
1. **web-builder**: Installs Node dependencies and compiles the SPA (JSX →
bundled JS via esbuild) into `web/dist/`
2. **lint**: Runs formatting checks and golangci-lint against the Go source
(with the built SPA assets copied in)
(uses empty placeholder files for `web/dist/` so it runs independently of
web-builder for fast feedback)
3. **builder**: Runs tests and compiles static `neoircd` and `neoirc-cli`
binaries (CLI built to verify compilation, not included in final image)
binaries with the real SPA assets from web-builder (CLI built to verify
compilation, not included in final image)
4. **final**: Minimal Alpine image with only the `neoircd` binary
### Binary