fix: replay channel state on SPA reconnect #61
@@ -15,7 +15,9 @@ WORKDIR /src
|
|||||||
COPY go.mod go.sum ./
|
COPY go.mod go.sum ./
|
||||||
RUN go mod download
|
RUN go mod download
|
||||||
COPY . .
|
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 fmt-check
|
||||||
RUN make lint
|
RUN make lint
|
||||||
|
|
||||||
|
|||||||
@@ -1854,9 +1854,11 @@ The Dockerfile is a four-stage build:
|
|||||||
1. **web-builder**: Installs Node dependencies and compiles the SPA (JSX →
|
1. **web-builder**: Installs Node dependencies and compiles the SPA (JSX →
|
||||||
bundled JS via esbuild) into `web/dist/`
|
bundled JS via esbuild) into `web/dist/`
|
||||||
2. **lint**: Runs formatting checks and golangci-lint against the Go source
|
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`
|
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
|
4. **final**: Minimal Alpine image with only the `neoircd` binary
|
||||||
|
|
||||||
### Binary
|
### Binary
|
||||||
|
|||||||
Reference in New Issue
Block a user