|
1 | 1 | # Claude Progress Log |
2 | 2 | # Newest entries first. Agents: append your entry at the top after the header. |
3 | 3 |
|
| 4 | +--- |
| 5 | +## 2026-04-28 | Session: PR #15 review feedback |
| 6 | +Worked on: Address Stanislav's review comments on PR #15 |
| 7 | +Completed: |
| 8 | +- Simplified EmptyState to single isCreateDisabled prop (removed hint prop, Tooltip) |
| 9 | +- PAT hint text lives inside EmptyState, shown only when disabled (replaces both "get started" text and separate hint) |
| 10 | +- Removed Tooltip from table-view Create button in FunctionsListPage |
| 11 | +- Protected FunctionCreatePage against unauthenticated URL access (warning alert, form hidden when no PAT) |
| 12 | +- UserAvatar cleanup: removed all useCallback wrappers, removed unused logout, guard pattern in readStoredUser |
| 13 | +- Extracted usePatModal hook from PatModal component logic (same file), removed TODO |
| 14 | +- Modal shrunk to small variant, Cancel and modal close disabled while validating |
| 15 | +- Extracted errorMessage utility (src/utils/errorMessage.ts), used in UserAvatar and FunctionCreatePage |
| 16 | +- Removed stale question from features.json, updated i18n keys |
| 17 | +- 9 suites, 55 tests, all passing, zero lint errors |
| 18 | +Left off: Commit and push. Stanislav's earlier refactors (consolidate, decouple auth) already committed. |
| 19 | +Blockers: None |
| 20 | + |
4 | 21 | --- |
5 | 22 | ## 2026-04-23 | Session: Runtime PAT entry and user avatar |
6 | 23 | Worked on: Replace compile-time PAT injection with runtime modal entry, add user avatar to page headers |
7 | 24 | Completed: |
8 | | -- GithubService refactored to lazy auth via custom Octokit authStrategy (single instance, token read per-request from sessionStorage) |
9 | | -- Static GithubService.validateToken for one-shot PAT validation |
10 | | -- useSourceControlService reads PAT from sessionStorage instead of __GITHUB_PAT__ global |
11 | | -- useUserAvatar shared hook (PAT state, sessionStorage persistence, modal lifecycle, autoOpen) |
12 | | -- PatModal component (PF6 Modal, password input, validation feedback, error alert) |
13 | | -- UserAvatar component (KeyIcon/UserIcon, clickable button or plain span) |
14 | | -- EmptyState extended with hint and isCreateDisabled props (disabled button + Tooltip) |
15 | | -- FunctionsListPage wired: autoOpen modal, UserAvatar in header, disabled Create when unauthenticated, skip API call when no PAT |
16 | | -- FunctionCreatePage and FunctionEditPage wired with non-clickable UserAvatar |
17 | | -- Removed DefinePlugin for __GITHUB_PAT__ from webpack.config.ts |
18 | | -- Deleted src/globals.d.ts (__GITHUB_PAT__ declaration) |
19 | | -- Added 5 i18n keys to locales |
20 | | -- 11 suites, 62 tests, all passing, zero lint errors, zero type errors in src/ |
21 | | -Left off: All code complete. Stage and commit. |
| 25 | +- Runtime PAT entry via PatModal (PF6 Modal, password input, validation, error alert) |
| 26 | +- UserAvatar component in ListPageHeader on all pages (list, create, edit) |
| 27 | +- GithubService refactored: lazy auth via cached Octokit getter, fetchUserInfo on SourceControlService interface |
| 28 | +- ForgeConnectionProvider context for cross-component PAT state sharing |
| 29 | +- PatModal and useUserAvatar consolidated into UserAvatar as private internals |
| 30 | +- EmptyState extended with isCreateDisabled prop |
| 31 | +- FunctionsListPage wired: autoOpen modal, disabled Create when unauthenticated, skip API call when no PAT |
| 32 | +- Removed DefinePlugin for __GITHUB_PAT__ from webpack.config.ts, deleted src/globals.d.ts |
| 33 | +- GitHubUser renamed to ForgeUser (forge-agnostic naming) |
| 34 | +Left off: PR #15 opened, review feedback pending. |
22 | 35 | Blockers: None |
23 | 36 |
|
24 | 37 | --- |
|
0 commit comments