Consume the shared scclient module for the /cli client and credentials #19
No reviewers
Labels
No labels
⏳in-progress
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Grey.ooo/someones.computer_agent!19
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/consume-scclient"
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?
What
Move the wire-contract half of
internal/client(the/clireads,FollowLogs,APIError, the request/error discipline) and the whole credential store to the new shared modulesomeones.computer_scclient, soscand the incomingsc-trayconsume one client instead of forking it. Part of the tray-app plan (platform repodocs/tray-app.md).What stays here is what
scalone owns:internal/upload(was the other half ofinternal/client) — the multipart bundle upload and its progress seam, now composing on scclient's exportedNewRequest/HTTPClientinternal/config— the.sc.ymlproject file only; the credential store is scclient'sconfigpackage now (same file on disk, same semantics —sc loginstill writes it, sc-tray reads it)Why the vendor directory
The scclient module is private and Forgejo's Actions token is repo-scoped, so a module fetch inside CI has no credential. Vendoring makes every build offline and deterministic; the goreleaser
go mod tidyhook goes for the same reason. Local development against an unpushed scclient goes through the platform repo'sgo.workspanning the submodules. If a cross-repo deploy token lands later, the vendor tree can be dropped in one commit.Verification
go vet ./...,go test ./...(all packages),go build ./...and cross-compiles for linux/amd64+arm64 and windows/amd64 — all green locally on the vendored tree, no network needed.WIP: Consume the shared scclient module for the /cli client and credentialsto Consume the shared scclient module for the /cli client and credentials