03c7bbed99
Feat v0.6.9 session lifetime config
...
- Admin-configurable session TTLs (access: 5m–60m, refresh: 1h–90d)
stored in global_settings under "session" key
- "Keep me logged in" checkbox on login form; unchecked caps refresh
token at 24h, checked uses full admin-configured TTL
- generateTokens() reads config instead of hardcoded 15m/7d; expires_in
and refresh_expires_in in JSON response reflect actual TTLs
- Cookie max-age tracks chosen refresh lifetime (not hardcoded 604800)
- Optional idle timeout: admin toggle + configurable duration; server
rejects refresh if last_activity_at exceeds threshold
- Client SDK activity ping (POST /auth/activity, debounced 1/min)
- Admin Settings > Session section with dropdowns for all three knobs
- 7 new unit tests for duration parsing, clamping, and defaults
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-01 09:35:43 +00:00
a675d0440d
Fix session cookie max-age bug; add UI hardening roadmap
...
Cookie max-age was 900s (15 min, matching access token) but refresh
token lives 7 days — users got bounced to login after 15 min idle
because the Go SSR middleware rejected the expired cookie before JS
could refresh. Now cookie max-age = 604800s (7 days) on both the
client (auth.js) and server (auth.go OIDC callback).
Go page-auth middleware accepts expired-but-signed JWTs via new
parseJWTIgnoringExpiry() so the page shell renders and the Preact SDK
can refresh client-side. API middleware still validates expiry strictly.
6 new middleware tests cover strict/lenient/tampered/garbage cases.
VERSION bumped to 0.6.8 (rebrand was already shipped but file missed).
ROADMAP-UI.md added with 7 milestones (v0.6.9–v0.6.15).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-01 09:12:43 +00:00
680ec3b897
Feat rebrand armature ( #43 )
...
CI/CD / detect-changes (push) Successful in 3s
CI/CD / test-frontend (push) Successful in 5s
CI/CD / test-go-pg (push) Successful in 2m34s
CI/CD / test-sqlite (push) Successful in 2m46s
CI/CD / build-and-deploy (push) Successful in 1m55s
Co-authored-by: Jeffrey Smith <jasafpro@gmail.com >
Co-committed-by: Jeffrey Smith <jasafpro@gmail.com >
2026-03-31 23:25:37 +00:00
7915d84c8b
Feat v0.6.6 final hardening ( #41 )
...
CI/CD / detect-changes (push) Successful in 4s
CI/CD / test-frontend (push) Successful in 6s
CI/CD / test-go-pg (push) Successful in 2m47s
CI/CD / test-sqlite (push) Successful in 3m1s
CI/CD / build-and-deploy (push) Successful in 29s
Co-authored-by: Jeffrey Smith <jasafpro@gmail.com >
Co-committed-by: Jeffrey Smith <jasafpro@gmail.com >
2026-03-31 17:40:40 +00:00
3d4228f868
Feat v0.6.3 dead code sweep ( #38 )
...
CI/CD / detect-changes (push) Successful in 4s
CI/CD / test-frontend (push) Successful in 6s
CI/CD / test-sqlite (push) Successful in 2m46s
CI/CD / test-go-pg (push) Successful in 2m47s
CI/CD / build-and-deploy (push) Successful in 26s
Co-authored-by: Jeffrey Smith <jasafpro@gmail.com >
Co-committed-by: Jeffrey Smith <jasafpro@gmail.com >
2026-03-31 12:37:47 +00:00
5836ddad21
Feat admin rbac migration ( #1 )
...
CI/CD / detect-changes (push) Successful in 4s
CI/CD / test-frontend (push) Successful in 5s
CI/CD / build-and-deploy (push) Has been cancelled
CI/CD / test-sqlite (push) Has been cancelled
CI/CD / test-go-pg (push) Has been cancelled
Co-authored-by: Jeffrey Smith <jasafpro@gmail.com >
Co-committed-by: Jeffrey Smith <jasafpro@gmail.com >
2026-03-26 17:30:36 +00:00
e4b7ee98a5
step 5 (partial): strip dropped packages from production code
...
Removed all references to dropped packages in non-test code.
Zero dropped imports, store refs, or model types remaining.
Major removals:
- scheduler/ package (entire dir) — tasks moved to extension track
- taskutil/ package (entire dir)
- health/ package (entire dir) — provider/tool health
- sandbox/provider_module.go — provider.complete module
- handlers: workflow_entry, workflow_instances, workflow_forms,
workflow_assignments, workflow_monitor, health_admin (6 files)
- auth/session.go, middleware/session_auth.go
- store/{postgres,sqlite}/sessions.go, tasks.go
Rewrites:
- store/{postgres,sqlite}/health.go — kernel-only Prune
(ws_tickets, rate_limit_counters, stale presence)
- handlers/admin.go: 847→467 lines (stripped provider CRUD)
- handlers/teams.go: 520→411 lines (stripped model listing)
- sandbox/runner.go: removed ProviderResolver
- sandbox/workflow_module.go: 216→83 lines (definition-only)
- main.go: 1579→1325 lines (stripped dropped package init)
- pages/pages.go: stripped channel/session lookups
- events/types.go: stripped chat/channel/workspace event routes
- models: stripped stale types, constants, notification types
Store interface cleanup:
- Removed SessionStore, TaskStore from Stores struct
- Stripped workflow assignment methods from WorkflowStore iface
- Stripped assignment methods from PG+SQLite workflow stores
- Updated testhelper.go table list to kernel-only
Migrations: removed 008_tasks.sql (both dialects)
-9665/+69 lines across 51 files.
2026-03-26 04:56:07 -04:00
11fd8c1e57
step 1: rename module chat-switchboard → switchboard-core
...
- go.mod module name
- All 714 import references across 289 Go files
- VERSION: 0.1.0
- CI DB names: switchboard_core_{ci,dev,test}
- Docker image: gobha/switchboard-core
- Test fixtures: JWT issuer, repo names
- .env.example, docker-compose container name
- Compiles clean (go build exit 0)
2026-03-25 19:48:04 -04:00
b7746c3004
Changeset 0.37.14 ( #226 )
...
Co-authored-by: gobha <jasafpro@gmail.com >
Co-committed-by: gobha <jasafpro@gmail.com >
2026-03-23 16:47:48 +00:00
b1266b0d7c
Changeset 0.32.0 ( #206 )
2026-03-19 18:50:27 +00:00
7b0b6eb061
Changeset 0.30.2 ( #201 )
...
Co-authored-by: Jeffrey Smith <jasafpro@gmail.com >
Co-committed-by: Jeffrey Smith <jasafpro@gmail.com >
2026-03-18 15:10:11 +00:00
5d637d3a90
Changeset 0.29.0 ( #195 )
2026-03-17 16:28:47 +00:00
b6cc4df6e7
Changeset 0.24.1 ( #157 )
2026-03-07 17:11:32 +00:00
a63728a481
Changeset 0.24.0 ( #156 )
2026-03-07 11:27:24 +00:00
856dc9b0ac
Changeset 0.17.1 ( #76 )
2026-02-28 01:40:31 +00:00
2d79ff593b
Changeset 0.15.0 ( #71 )
2026-02-26 21:19:55 +00:00
5e416d3726
Changeset 0.9.4 ( #54 )
2026-02-24 10:44:12 +00:00
ac7c7c7d59
Changeset 0.9.2 ( #52 )
2026-02-23 19:31:33 +00:00
8264aa6016
Changeset 0.9.0 ( #50 )
2026-02-23 01:57:28 +00:00
5111d595f7
Changeset 0.8.2 ( #45 )
2026-02-22 01:56:58 +00:00
1ec392879b
Changeset 0.7.3 ( #41 )
2026-02-21 21:59:38 +00:00
925b70f98c
Changeset 0.6.0 ( #36 )
2026-02-20 22:24:47 +00:00
2fc4f6980c
Feature user and admin panels ( #30 )
2026-02-16 20:30:36 +00:00
8f10352e7d
Issue 4 jwt ( #24 )
2026-02-15 23:41:48 +00:00