OpenMono Developer
fe380dc5f0
Add seed service tests for Story 1.9
3 일 전
OpenMono Developer
80b8b6d335
Implement seed service for Story 1.9: Seed System Reference Values & Rule Defaults
3 일 전
dcovington
47596bbc04
Merge pull request '1.4' ( #15 ) from 1.4 into main
3 일 전
Daniel Covington
e85cb5a2c3
feat: complete stories 1.4-1.7
- add Keycloak role mapping, app authorization policies, and logout/session coverage
- add shared append-only audit logging with authorization audit events
- add read-only legacy data access anti-corruption layer
- add legacy schema compatibility gate, admin API, and client schema check panel
- update story artifacts, planning docs, sprint status, and test coverage
3 일 전
Daniel Covington
fabed40906
fix: deduplicate OIDC callback sequence to prevent StrictMode race
React StrictMode's double-invocation of useEffect caused the first run to
remove oidcStateStorageKey from sessionStorage before the async code exchange
began. The second run would see the missing state, throw, and display
"Authentication failed" — while the first run completed in the background
(storing tokens and replacing the URL), making a page refresh appear to work.
Introduces a module-scope Promise (pendingCallbackSequence) that covers the
full callback sequence: token exchange, session fetch, and URL navigation. The
second effect run shares the same Promise and awaits its result, so no re-
validation or re-fetching occurs, and only the non-cancelled run sets state.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
3 일 전
Daniel Covington
eaeb0a4284
Merge branch 'main' of https://onefortheroadgit.sytes.net/dcovington/Campaign_Tracker
3 일 전
Daniel Covington
6ec1b34821
Implement Keycloak OIDC auth flow
- Add JWT bearer auth, session endpoint, and auth audit capture
- Add server-side Keycloak token exchange and refresh endpoints
- Load Keycloak client secret from ignored .env file
- Configure Canopy Keycloak realm, CORS, and Vite API proxy
- Add frontend protected auth callback, token storage, and refresh handling
- Cover backend and frontend auth behavior with tests
3 일 전
nano
a2b0ec7974
Update README client run instructions
4 일 전
nano
fbdc232546
Merge branch 1.2 into main (campaign-tracker-client/src/workspace/workspaceContracts.ts)
4 일 전
nano
44f392e623
Merge branch 1.2 into main (campaign-tracker-client/src/workspace/workspaceContracts.test.ts)
4 일 전
nano
355e0294df
Merge branch 1.2 into main (campaign-tracker-client/src/workspace/WorkspaceShell.tsx)
4 일 전
nano
049996c60f
Merge branch 1.2 into main (add WorkspaceShell.css)
4 일 전
nano
6bc8c05a44
Merge branch 1.2 into main (campaign-tracker-client/src/main.tsx)
4 일 전
nano
cb4921128b
Merge branch 1.2 into main (campaign-tracker-client/src/index.css)
4 일 전
nano
20ab8242a9
Merge branch 1.2 into main (campaign-tracker-client/src/App.tsx)
4 일 전
nano
de2715611c
Merge branch 1.2 into main (campaign-tracker-client/src/App.css)
4 일 전
nano
d1e63b77ea
Merge branch 1.2 into main (campaign-tracker-client/package.json)
4 일 전
nano
57f1dd0b9a
Merge branch 1.2 into main (_bmad-output/implementation-artifacts/sprint-status.yaml)
4 일 전
nano
ab640277f6
Merge branch 1.2 into main (_bmad-output/implementation-artifacts/1-2-workspace-shell-ant-design-foundation.md)
4 일 전
nano
aa3915dca1
Merge branch 1.2 into main (_bmad-output/implementation-artifacts/1-1-project-initialization-solution-scaffold.md)
4 일 전
nano
bafdae8fdf
Delete file for merge branch 1.2 into main (Campaign_Tracker.Server/WeatherForecast.cs)
4 일 전
nano
30bcef0044
Delete file for merge branch 1.2 into main (Campaign_Tracker.Server/Controllers/WeatherForecastController.cs)
4 일 전
nano
ddbdaf2182
Merge branch 1.2 into main
4 일 전
nano
48428d2ed5
Fix Story 1.1 scaffold docs (.gitignore)
4 일 전
nano
38a765ddf5
Fix Story 1.1 scaffold docs (README.md)
4 일 전
Daniel Covington
f73d372f37
This Code is for Issues 1-1
4 일 전
Daniel Covington
2484a48e28
init
4 일 전