Skip to content

Enterprise hardening, ORM/SWC fixes, Go 1.26.6, and CI lint green - #39

Merged
ATRIwOX merged 13 commits into
mainfrom
dev
Sep 4, 2026
Merged

Enterprise hardening, ORM/SWC fixes, Go 1.26.6, and CI lint green#39
ATRIwOX merged 13 commits into
mainfrom
dev

Conversation

@ATRIwOX

@ATRIwOX ATRIwOX commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Summary

Merges devmain with production-hardening, ORM/workspace fixes, toolchain/CI updates, and a clean golangci-lint gate.

  • Security / trust boundaries: harden password writes and production defaults; security headers, session CSRF, webhook dial pinning; schema context, setup-token gate, metrics trust; LICENSE update.
  • ORM / workspace: unify falsy domain semantics (including Many2One false → NULL); batch RPC read and related-field enrichment; restore Many2One search/select-style autocomplete; sys.action.url / iframe URL actions.
  • Ops / docs: sliding sessions, container deploy, HA/SSO runbooks; additive schema sync and DDL production policy.
  • Toolchain / CI: Go 1.26.6 (stdlib vulns); bump x/crypto and gpdf; go vet + golangci-lint (Close excluded from errcheck); dedicated govulncheck job; Node 24 + golangci-lint-action@v9; make lint wired into local check.

Test plan

  • CI green on this PR (go-build, go-test, go-lint, go-vuln, swc, generate)
  • Local: make lint and go test ./test/... -count=1
  • Smoke: login, Many2One search/create/select, URL action iframe, form CSRF/session still work
  • Confirm production config defaults / secrets env overrides still match sumeru.conf.example and docs
  • Optional: integration job / Postgres path if enabled for the release cut

Reject direct core.user.password ORM/RPC writes via SetUserPassword, default rate limits when not in dev_mode, and allow SUMERU_* env secret overrides.
…inning

Require CSRF on session RPC/saved-search/exports, set baseline HTTP headers, pin webhook dials and block CGNAT, and expose /api/ready plus scrape-token metrics auth.
Use id IN for rpc read and resolve related fields with one Search per relation hop.
Clear stdlib advisories fixed in go1.26.6 and align CI, Docker, and docs pins.
Update golang.org/x/crypto to v0.56.0 and ProjectMeru/gpdf replace to v1.0.12.
Clear the Node 20 deprecation warning from the lint action and align SWC setup-node with the runner default.
Keep errcheck for real ignored returns, and match CI go-lint locally via go vet + golangci-lint v2.
Fix errcheck/ineffassign/staticcheck issues, delete unused dead code, and leave ParseDir behind targeted nolints.
@ATRIwOX ATRIwOX self-assigned this Sep 4, 2026
@ATRIwOX
ATRIwOX merged commit 07ba4d4 into main Sep 4, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant